从二进制文件读取为什么总是不对。。。

#include

void main()
{
int a[2][2]={2,2,2,2};
int b[2][2];
FILE *file;
FILE *infile;
file=fopen("ok.txt","wb");
fwrite(a,sizeof(a),1,file);
infile=fopen("ok.txt","rb");
fread(b,sizeof(b),1,infile);
printf("%d",b[1][1]);
}

5个回答

file=fopen("ok.txt","wb");
fwrite(a,sizeof(a),1,file);
fclose(file);
infile=fopen("ok.txt","rb");
fread(b,sizeof(b),1,infile);

怎么不对,你文件格式,是否符合你定义的数组格式

文件写完要先关闭,否则还没有实际写入文件。这时去读肯定读不到。

Leelddd
Leelddd 对哦 :) thank you
接近 6 年之前 回复

关闭之前,其实可以fflush一下啊

之前打开的文件流要先关闭,才能从缓存区写到文件中,然后在去打开读取文件就行了。读和写之间加个fclose(file); OK

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐