首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

把构造体存入文本中出现乱码

2013-03-01 
把结构体存入文本中出现乱码char buf[200]gets(buf)if(fwrite(buf, 1, strlen(buf)+1, fp)!0)printf(

把结构体存入文本中出现乱码
char buf[200];
gets(buf);
if(fwrite(buf, 1, strlen(buf)+1, fp)!=0)
printf("信息成功写入\n"); 
用gets接收的字符串 写入后不会出现乱码

下面是用结构体写入的代码

struct student NewStudent;
scanf("%s",NewStudent.number);
scanf("%s",NewStudent.name);
scanf("%s",NewStudent.age);
scanf("%s",NewStudent.sex);
scanf("%s",NewStudent.birth);
canf("%s",NewStudent.address);
scanf("%s",NewStudent.phone);
scanf("%s",NewStudent.email);

if(fwrite(&NewStudent, sizeof(NewStudent), 1,fp)!=0)
          printf("信息成功写入\n");
这样把结构体写入后就是乱码  搞不懂为什么,在linux虚拟机中测试的
struct fp 虚拟机
[解决办法]
结构体定义后初始化一下
[解决办法]
结构体的那些项全是字符数组型的?
如果全是字符数组型的,那么字符串会有长有短,短的字符串,会留下没有使用的字节,是这些没有使用的字节导致的乱码。

热点排行