2014年3月25日14:56:08
读配置文本
1、使用VS2008创建一个带预编译头的控制台项目。
2、源文件内容:
#include "stdafx.h"
#define LWW_CONSOLE
#ifdef LWW_CONSOLE
#define CosPrintf printf
#else
#define CosPrintf //
#endif
#include<iostream>
using namespace std;
char g_strName[20];
int g_nAge = 0;
char * getNoSpaceStr(char * str)
{
char * retStr = str;
while(isspace((unsigned char)(*retStr)))
{
retStr++;
}
for(int i=strlen(retStr);i>0;)
{
if(isspace((unsigned char)(retStr[i-1])))
{
retStr[i-1]='\0';
i--;
}
else
break;
}
return retStr;
}
bool readConfigTxt(const char * strFileName)
{
FILE * pFile = fopen(strFileName,"r");
if(NULL == pFile)
{
CosPrintf("文件打开失败\n");
return false;
}
char strBuf[400] = {0};
char *str = NULL;
char *strWork = NULL;
while(fgets(strBuf,400,pFile) != NULL)
{
str = getNoSpaceStr(strBuf);
if('#' == *str)//注释行
continue;
if((strWork = strstr(str,"name")))
{
if((str = strstr(strWork,"=")))
{
str = getNoSpaceStr(++str);
strcpy(g_strName,str);
}
}
else if((strWork = strstr(str,"age")))
{
if((str = strstr(strWork,"=")))
{
str = getNoSpaceStr(++str);
g_nAge=atoi(str);
}
}
}
return false;
}
int main( void )
{
char ch;
readConfigTxt("CenterTransConfig.ini");
printf("姓名:%s\n",g_strName);
printf("年龄:%d\n",g_nAge);
printf("程序结束\n");
cin>>ch;
return 0;
}