|
发表于 2016-9-7 21:49:37
From FishC Mobile
|
显示全部楼层
|阅读模式
50鱼币
一个通讯录软件!首先输入信息!结构体为{char name[15],char celephone[22],char QQ[20]}per[500]; 录入后进行输出显示很正常!并将其保存在文本文件中!之后重启软件再导出!通过调试查看内存中的数据也是很正常fread(&per[num],sizeof(struct Person),1,fp)!然后问题就来了~per[num].name的指向的数据不对后面的也不对????  |
最佳答案
查看完整内容
1.fread(&per[num],sizeof(struct Person),1,fp)里面的struct Person是你说的结构体{char name[15],char celephone[22],char QQ[20]}吗?如果是,可能是文件IO出错了:
文件IO最好统一IO格式:要么都以支持文本文件读写的IO函数(譬如fprintf(),fscanf())进行读写,要么用二进制IO函数(譬如fread(),fwrite())进行读写。两者对内存字节的处理是有区别的(前者有基于特定系统的字符映射,后者是处理原始二进制数据)如果混 ...
|