fread和fwrite函数调用出错,请大虾帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/05/20 13:28:17
我试了多次,不知错在那里?还请大虾帮忙查找,并讲清楚他们的用法,小弟初学,请大虾详细讲解其用法,下面是我文件存储的内容:
2 2 10 10 10
2 2 10 10 10
2 2 10 10 10
2 2 2 2 2
2 2 2 2 2
程序如下:
#include <stdio.h>
#include <math.h>
void main()
{
int i,j;
int data[7][7];
FILE *fin,*fout;
if((fin=fopen("G:\\ceshi\\shuju10.txt","r"))==0)
{
printf("Can not open file!\n");
fclose(fin);
}
while(!feof(fin))
{
for(i=0;i<5;i++)
for(j=0;j<5;j++)
fread(&data[i][j],sizeof(int),1,fin);
}
fclose(fin);
if((fout=fopen("G:\\ceshi\\output10.txt","w"))==0)
{
printf("Can not open file!\n");
fclose(fout);
}
for(i=0;i<5;i++)
for(j=0;j<5;j+

二进制文件没有回车
故删去:
if(j==4) fwrite("\n",fout);
另外在文件判断时,应该使用:
NULL,即:
f((fin=fopen("G:\\ceshi\\shuju10.txt","r"))==NULL)
还有:
fwrite(&data[i][j],sizeof(int),1,fin);
应该为:
fwrite(&data[i][j],sizeof(int),1,fout);