怎么输出会出错呢??郁闷呀!
程序代码:
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 编辑 ]