这个C语言的程序:关于fread()和fwrite()函数,为什么输出的时候老是一串地址

//对于fread()函数和fwrite()函数,fread()函数,变元buffer是存放//所读入数据的内存区域的指针而fwrite()buffer是写入到那个文件的... //对于fread()函数和fwrite()函数,fread()函数,变元buffer是存放
//所读入数据的内存区域的指针而fwrite()buffer是写入到那个文件的信息的指针
#include<stdio.h>
#include<stdlib.h>
void main()
{
FILE *fp;
int i=1312;
long l=1321L;
double d=2.232;
if((fp=fopen("test","w"))==NULL)
{
printf("Cann't open the file\n");
exit(0);
}
//通过fread()函数,将数据写入文件
fwrite(&i,sizeof(int),1,fp);
fwrite(&l,sizeof(long),1,fp);
fwrite(&d,sizeof(double),1,fp);
//通过fread将数据从文件中读出来
fread(&i,sizeof(int),1,fp);
fread(&l,sizeof(long),1,fp);
fread(&d,sizeof(double),1,fp);
//输出
printf("i=%d\n",i);
printf("j=%ld\n",l);
printf("d=%f\n",d);
}
这个 是怎么回事,按道理说会输出 刚开始的i,l d 的值的
展开
 我来答
jackwind1987
2012-11-25 · TA获得超过2738个赞
知道大有可为答主
回答量:1268
采纳率:50%
帮助的人:491万
展开全部
你的fopen的参数只有w,没有r,不能读取。而且fwrite完,文件当前位置一定在文件末尾,fread当然什么都read不到了,你可以检查一下fread的返回值看看到底read了多少字节,应该是0吧
追问
那我们可以以用rewind()函数可以将其置首吗?
追答
不好意思,我刚试了一下,fopen的时候没有"r"的时候也能read,不知道这个是怎么回事。用了rewind之后确实能读出来了,你试试吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夏天的青云
2012-11-26 · TA获得超过293个赞
知道小有建树答主
回答量:200
采纳率:0%
帮助的人:275万
展开全部
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fp;
int i=1312;
long l=1321L;
double d=2.232;
if((fp=fopen("test","w"))==NULL)
{
printf("Cann't open the file\n");
exit(0);
}
//通过fread()函数,将数据写入文件
fwrite(&i,sizeof(int),1,fp);
fwrite(&l,sizeof(long),1,fp);
fwrite(&d,sizeof(double),1,fp);
fclose(fp);//向文件里边写入数据后想保存好,最好是先关闭文件.有些因内存问题会暂存在内存里的
if((fp=fopen("test","r"))==NULL)
{
printf("Cann't open the file\n");
exit(0);
}
//通过fread将数据从文件中读出来
fread(&i,sizeof(int),1,fp);
fread(&l,sizeof(long),1,fp);
fread(&d,sizeof(double),1,fp);
//输出
printf("i=%d\n",i);
printf("j=%ld\n",l);
printf("d=%f\n",d);
return 0;
}
//测试通过...
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4269835
2012-11-27
知道答主
回答量:2
采纳率:0%
帮助的人:3244
展开全部
你是不是之前编译了 还没有保存 !输出的却是原本的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式