读书人

这样的数据格式怎样读出来?该如何处理

发布时间: 2012-03-03 15:33:03 作者: rapoo

这样的数据格式怎样读出来?
数据结构如下:
typedef struct RT{

char Name[20];
int Age;
char Disease[30];
}RT;


是这样写入文件 "client.txt "的:
for(i=0;i <2;i++)
{
 student[i].Name[19]= '\0 ';
 student[i].Disease[29]= '\0 ';
 fwrite(&student[i].Name,strlen(student[i].Name),1,fp);
 fprintf(fp, "%d ",student[i].Age);
 fwrite(&student[i].Disease,strlen(student[i].Disease),1,fp);
}

由fwrite(&student[i].Name,strlen(student[i].Name),1,fp);可知
写入文件时Name的长度不一样,从文件读出来的时候应该怎么读呢?




[解决办法]
先写入Name的长度再写Name的内容。
[解决办法]
建议用tab或者分号逗号什么的分隔符
[解决办法]
建议采用TLV结构写入
Type-length-value
[解决办法]
写的时候可以多写个空格啊区分数据...
比如 abcd 1 dsd

读书人网 >C++

热点推荐