c读文件,写文件问题
我写了个程序,不知为何错?
- C/C++ code
#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){ FILE * infile,*outfile; int iNum=100,iData=0; outfile=fopen("D://hello.dat","wb"); if (!outfile) { printf("write error\n"); return; } fwrite(&iNum,sizeof(int),1,outfile); infile=fopen("D:\\hello.dat","rb"); if (!infile) { printf("read error\n"); return; } fread(&iData,sizeof(int),1,infile); printf("The data you just read is : %d\n",iData); fclose(infile); fclose(outfile); return 0;}[解决办法]
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main()
{
FILE * infile,*outfile;
int iNum=100,iData=0;
outfile=fopen("D://hello.dat","wb");
if (!outfile)
{
printf("write error\n");
return;
}
fwrite(&iNum,sizeof(int),1,outfile);
fclose(outfile); //关闭
infile=fopen("D:\\hello.dat","rb");
if (!infile)
{
printf("read error\n");
return;
}
fread(&iData,sizeof(int),1,infile);
printf("The data you just read is : %d\n",iData);
fclose(infile);
return 0;
}
这样再试一下;
[解决办法]
要先关闭文件再打开:
- C/C++ code
#include <stdio.h>#include <math.h>#include <stdlib.h>int main(){ FILE * infile,*outfile; int iNum=100,iData=0; outfile=fopen("D:\\hello.dat","wb"); if (!outfile) { printf("write error\n"); return; } fwrite(&iNum,sizeof(int),1,outfile); fclose(outfile); infile=fopen("D:\\hello.dat","rb"); if (!infile) { printf("read error\n"); return; } fread(&iData,sizeof(int),1,infile); printf("The data you just read is : %d\n",iData); fclose(infile); return 0;}