今天要用.txt文件来读取信息。内容格式为: 1,xxx,111,111
2, xxxx,333,333
x代表字符,数字代表是读的是整数型。读出的内容放到一个结构体内struct PlaceLocation{ int number; char name[20];int x,int y}。现在要做的工作有1,一行一行读取内容。2,读取的内容存放到结构体中。3,以","号分隔。
首先打开文件pFile = fopen(cFileName,"r"), while( fgets(cLine,100,pFile) != NULL){ 你自己要处理的代码 }这句话就是一行一行的读取内容。
char seps[] = ",";//用以分隔的字符
char *token;//被分隔后的字符指针
while( fgets(cLine,100,pFile) != NULL)
{
token = strtok( cLine, seps ); //
PlaceLocation.number = strtol(token,NULL,10); //将读取的字符转化成数字
token = strtok(NULL,seps);
strcpy(PlaceLocation.name,token);//
token = strtok(NULL,seps);
PlaceLocation.x = strtol(token,NULL,10);
token = strtok(NULL,seps);
PlaceLocation.y = strtol(token,NULL,10);
}
fclose(pFile);//关闭文件
这是最简单的应用,可以在这个基础上可以读取更复杂的内容。
这里列出一些常用的转换函数:
char * to int : char *c = "123" int i= strtol(char *c,NULL,10);//这里10就是10进制,换成8就是8进制
char [] to char *; strcpy(char *,char[]);
TCHAR tch[] to CString str; str.Format(_T("%s"), tch);
CString str to char cFileName[]; wcstombs(cFileName, str ,str .GetLength());
这里几个是比较常用的,也很需要的。简单的可以上网搜了。