C语言数据保存问题

我用C编程把生成的数据保存为date.dat存在C盘根目录我在主函数最后也引用了fclose()函数。可是下次再打开程序读保存的数据就读不出来了。不知道C语言保存的数据和... 我用C编程 把生成的数据保存为date.dat存在C盘根目录 我在主函数最后也引用了fclose()函数。可是下次再打开程序读保存的数据就读不出来了。不知道C语言保存的数据和硬盘格式有关系么?我硬盘分区都是NTFS的
我的总代码好长的说,总之就是学生成绩管理系统。下面这个子函数就是储存数据用的。
point=fopen("c:\\data.dat","wb+");
printf("\nplease input the total number of students:");scanf("%d",&n);
printf("Number\t\tName\t\tScore1\t\tScore2\t\tScore3\n");
for(i=0;i<=n-1;i++)
scanf("%d%s%d%d%d",&stud[i].No,stud[i].name,&stud[i].score1,&stud[i].score2,&stud[i].score3);
for(i=0;i<=n-1;i++)
{stud[i].sum=stud[i].score1+stud[i].score2+stud[i].score3;stud[i].average=stud[i].sum/3;stud[i].order=0;}
for(i=0;i<=n-1;i++)
if(fwrite(&stud[i],sizeof(struct student),1,point)!=1)
{printf("\nData( %d ) saved error!\n",i);getch();goto end;}
printf("\n\nData saved.Press Any key to continue...\n");fclose(point);getch();
end:return;运行后用记事本打开有乱码 保存的data.dat文件大小为1 KB
展开
 我来答
湛蓝水晶
2008-07-27 · 知道合伙人数码行家
湛蓝水晶
知道合伙人数码行家
采纳数:1388 获赞数:9352
毕业北京科技大学数学与应用数学专业,学士学位,IT行业6年从业经验。现任公司项目经理。

向TA提问 私信TA
展开全部
不知道你是用什么方法打开的?用fopen的rb模式应该可以读的.
PS.写文件那里,可以不用循环,直接用
fwrite(stud, sizeof(struct student), n, point));
如果你是用w模式打开的,那每次会把文件清空.
passgod
2008-07-27 · TA获得超过4891个赞
知道大有可为答主
回答量:4295
采纳率:0%
帮助的人:4335万
展开全部
运行程序后,用记事本打开保存的文件,里面有内容么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友205343bbb
2008-07-27
知道答主
回答量:48
采纳率:0%
帮助的人:0
展开全部
你写入的是二进制。
看到乱码不要担心,用UE什么的可以支持二进制的打开,看里面的数据你大概就能明白。
这样写,用二进制一样的办法也可以读回来的。

如果觉得希望写入字符的形式,那么可以fprintf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
前端报错
2008-07-27 · 前端开发技术分享,分析
前端报错
采纳数:1573 获赞数:7027

向TA提问 私信TA
展开全部
看看你是怎么写入的啊,fprint?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式