这样的数据格式怎样读出来?

winning_eleven 2007-04-11 04:15:23
数据结构如下:
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的长度不一样,从文件读出来的时候应该怎么读呢?



...全文
145 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不是有\0么
lly991210 2007-04-11
  • 打赏
  • 举报
回复
写的时候可以多写个空格啊区分数据...
比如 abcd 1 dsd
missilery 2007-04-11
  • 打赏
  • 举报
回复
建议采用TLV结构写入
Type-length-value
freshui 2007-04-11
  • 打赏
  • 举报
回复
建议用tab或者分号逗号什么的分隔符
taodm 2007-04-11
  • 打赏
  • 举报
回复
先写入Name的长度再写Name的内容。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧