一个将浮点数写入文件再读出的C程序,结果错误。

#include<stdio.h>voidmain(){FILE*fp;floatf=12.34;if((fp=fopen("file","wb"))==NULL){pr... #include<stdio.h>
void main()
{
FILE *fp;
float f=12.34;
if((fp=fopen("file","wb"))==NULL)
{
printf("Can't open file.");
exit(1);
}
fwrite(&f,sizeof(float),1,fp);
printf("%f\n",f); //执行完此步,DOS屏幕显示正确,但文件file中内容错误
fread(&f,sizeof(float),1,fp);
printf("%f\n",f); //执行完此步,DOS屏幕和file文件均显示错误
flose(fp);
}
展开
 我来答
lrh3321
推荐于2016-01-16 · TA获得超过2183个赞
知道大有可为答主
回答量:2296
采纳率:75%
帮助的人:2126万
展开全部
  • wb 只写打开或新建一个二进制文件;只允许写数据。

  • wb+ 读写打开或建立一个二进制文件,允许读和写。

 if((fp=fopen("file","wb+"))==NULL)
更多追问追答
追问
没用,结果依然错误。
追答
#include<stdio.h>
void main()
{
    FILE *fp;
    float f=12.34;
    if((fp=fopen("file","wb"))==NULL)
    {
        printf("Can't open file.");
        exit(1);
    }
    fwrite(&f,sizeof(float),1,fp);
    printf("%f\n",f);    //执行完此步,DOS屏幕显示正确,但文件file中内容错误
    fseek(fp,0L,SEEK_SET);//移动文件指针stream的位置
fread(&f,sizeof(float),1,fp);
    printf("%f\n",f);    //执行完此步,DOS屏幕和file文件均显示错误
    fclose(fp);
return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式