C语言文件的问题

cnbj8607 2010-04-05 05:25:27
这是我写的代码,似乎没什么问题,但是保存在py.dat文件后,打开该文件会出现
? Zhang Jie 烫烫Beijing 烫烫? Li Shuang 烫烫Liao Ning 烫烫
这种情况,什么原因呢?


#include "stdio.h"
#include "stdlib.h"
#include "soft_info.h"
#define N 2

struct student
{
int num;
char name[30];
char addr[20];
};

void main()
{
void enter_data(struct student stud[]);
void save(struct student stud[]);
struct student stud[N],*p=stud;
soft_info();
enter_data(p);
save(p);
}

void enter_data(struct student stud[])
{
struct student *p=stud;
printf("Please enter the information of all students:\n");
for(;p<stud+N;p++)
{
printf("\nInformation of Student %d:\n",p-stud+1);
printf("Student ID:\n");
scanf_s("%d",&p->num);
getchar();
printf("Student Name:\n");
gets_s(p->name,25);
printf("Student Address:\n");
gets_s(p->addr,18);
}
}

void save(struct student stud[])
{
FILE *fp;
char filename[20];
struct student *p=stud;
printf("\nPlease enter the file name:\n");
gets_s(filename,18);
if((fp=fopen(filename,"wb"))==NULL)
{
printf("Failure in creating the file!\n");
exit(0);
}
for(;p<stud+N;p++)
{
if((fwrite(p,sizeof(struct student),1,fp))!=1)
{
printf("Data Writing Error!\n");
exit(0);
}
}
fclose(fp);
}
...全文
34 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zijian_Zhang 2010-04-05
  • 打赏
  • 举报
回复
你是使用二进制保存结构内容的,当然有这些内容啦。内存中的数据看不懂是正常的,电脑看懂就可以了,如果是char类型的可以看,如果是int或其它类型还有struct这种复合类型更加看不懂。int类型的东西用文本程序打开时,使用文本方式读取的,解码后当然看不懂。

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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