Paris_f 2017-08-22 13:37 采纳率: 0%
浏览 4910

C语言写文件,记事本打开是乱码

程序输入之后,记事本只显示name、addr,而int型数据均为乱码,请问如何解决这一问题??

#include
#define SIZE 3

struct Student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE];

void save()
{
FILE * fp;
int i;
if((fp=fopen("stu.dat","wb"))== NULL) /**< 注意括号的数量 */
{
printf("cannot open the file\n");
return;
}
for(i=0;i<SIZE;i++)
if(fwrite(&stud[i],sizeof(struct Student_type),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}

int main()
{
int i;
printf("please enter data of students:\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);
save();
return(0);
}

图片说明

  • 写回答

4条回答

  • SeaTalks 2017-08-23 01:04
    关注

    我去,你咋把内存中的结构体直接拷到文件中了?内存里的数据是结构化了的数据,而文件中的是序列化之后的数据,不一样的呀。。。

    评论

报告相同问题?

悬赏问题

  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器