标题:怎么输出会出错呢??郁闷呀!
只看楼主
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
已结贴  问题点数:20 回复次数:1 
怎么输出会出错呢??郁闷呀!
程序代码:
struct GONGZI{
char name[3];
double a;
char number[6];
}RENyuan[3];
#include<stdio.h>
#include<stdlib.h>
main()
{
FILE *fp,*stream;
int i;
if((fp=fopen("F:\\123\\gongzi.txt","rb"))==NULL)
{
  fprintf(stderr,"ERROR\n");
  exit(1);
}
fread(RENyuan,sizeof(GONGZI),3,fp);
stream=fopen("F:\\123\\xieru.txt","wb");
fwrite(RENyuan,sizeof(GONGZI),3,stream);
fclose(fp);
fclose(stream);
for(i=0;i<3;i++)
{
  printf("%s,%lf,%s\n",RENyuan[0].name,RENyuan[0].a,RENyuan[0].number);
}
   return 0;
}
在我打开我建立的二进制文件,会发现里面通过fwrite写进去的数据时对的,可是为什么我用printf输出的时候会出现错误呢??真的是太郁闷了呀!高手给我好好的讲解一下吧!我关于文件的这方面的知识真的是太糊涂了呀!!!!!
输出:
王华 123.5 08107
李明 236.1 08106
张涛 238.1 08105
,0.000000
李明 236.1 08106
张涛 238.1 08105

王华 123.5 08107
李明 236.1 08106
张涛 238.1 08105
,0.000000
李明 236.1 08106
张涛 238.1 08105

王华 123.5 08107
李明 236.1 08106
张涛 238.1 08105
,0.000000
李明 236.1 08106
张涛 238.1 08105

[ 本帖最后由 我菜119 于 2010-5-12 14:32 编辑 ]
搜索更多相关主题的帖子: stream 
2010-05-12 13:07
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
得分:20 
简单的说,建立文本文件,你才看的懂。
建立二进制文件你是看不懂的。

注意,在文本文件中读写用fprintf和fscanf
在二进制文件中读写,用fread和fwrite。
这样才能够保证结果正确。

南国利剑
2010-05-13 10:34



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-306328-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.103513 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved