[求助]如何使用fread
请问,如何使用fread。请举一个例子。谢谢。
----------------解决方案--------------------------------------------------------
main()
{ FILE *fp;
int i;
char ch[3]={'a','b','c'};
fp=("e:\\test.txt","rb");
if(fp==NULL)
{printf("file open error.");
exit(0);
}
for(i=0;i<3;i++)
if(fread(&ch[i],sizeof(char),1,fp)!=1)
printf("file read error.");
fclose(fp);
for(i=0;i<3;i++)
prntf("%c",ch[i]);
}
[此贴子已经被作者于2006-6-27 11:09:23编辑过]
----------------解决方案--------------------------------------------------------
谢谢您
我该如何读出实数?
----------------解决方案--------------------------------------------------------
main()
{ FILE *fp;
float num;
fp=("e:\\test.txt","rb");
if(fp==NULL)
{printf("file open error.");
exit(0);
}
if(fread(&num,sizeof(float),1,fp)!=1)
printf("file read error.");
fclose(fp);
prntf("%5.2f",num);
}
----------------解决方案--------------------------------------------------------
谢谢阿,我去试一试
----------------解决方案--------------------------------------------------------
把 2 楼的char 该 float 就可以拉
----------------解决方案--------------------------------------------------------
还是有问题,我的程序是这样的。
main()
{ FILE *fp;
float num;
fp=("test00.txt","rb");
fread(&num,sizeof(float),1,fp)
fclose(fp);
printf("%5.2f",num);
}
而打印结果是0.00。
在编译后,提示为warning:suspcious pointer conversion.
请问为什么结果不是1.00,提示为什么说我的指针转换可疑?
test00.txt是我先建立的一个文件,其中的数据是:
1.0000002.0000003.0000004.0000005.0000006.0000007.0000008.0000009.00000010.000000
----------------解决方案--------------------------------------------------------
按照你的文件读的话,应该用fprintf()函数
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽