怎么使用fread函数从一个文件中向一个二维数组读入数值数据?求啊
如何使用fread函数从一个文件中向一个二维数组读入数值数据?求高手指点啊!
# include <stdio.h>
# include <stdlib.h>
void main()
{
FILE *fp;
int i,j;
int Image[2][7]={0};
if((fp=fopen("F:\\file1.txt","r+"))==NULL)
{printf("can not open file\n");exit(0);}
fseek(fp,0,SEEK_SET);
for(i=0;i<2;i++)
fread(Image[i],sizeof(Image[i]),1,fp);
/* for(i=0;i<2;i++)
for(j=0;j<7;j++)
fscanf(fp,"%d",&Image[i][j]);*/
for(i=0;i<7;i++)
{
for(j=0;j<7;j++)
printf("%d\t",Image[i][j]);
printf("\n");
}
fclose(fp);
}
这个程序是使用fread函数从一个文件向一个整型二维数组里读入数值数据而不是字符,但是怎么修改都不能读入成功,但是使用红色标的fscanf函数却可以读成功,请教高手们指点这是为什么?如何使用fread函数读入一系列的数值数据呢?不甚感激啊!
------解决方案--------------------
fread 操作的是二进制
fscanf操作的是文本
所以你open的文件时文本文件,不是二进制文件
# include <stdio.h>
# include <stdlib.h>
void main()
{
FILE *fp;
int i,j;
int Image[2][7]={0};
if((fp=fopen("F:\\file1.txt","r+"))==NULL)
{printf("can not open file\n");exit(0);}
fseek(fp,0,SEEK_SET);
for(i=0;i<2;i++)
fread(Image[i],sizeof(Image[i]),1,fp);
/* for(i=0;i<2;i++)
for(j=0;j<7;j++)
fscanf(fp,"%d",&Image[i][j]);*/
for(i=0;i<7;i++)
{
for(j=0;j<7;j++)
printf("%d\t",Image[i][j]);
printf("\n");
}
fclose(fp);
}
这个程序是使用fread函数从一个文件向一个整型二维数组里读入数值数据而不是字符,但是怎么修改都不能读入成功,但是使用红色标的fscanf函数却可以读成功,请教高手们指点这是为什么?如何使用fread函数读入一系列的数值数据呢?不甚感激啊!
C
------解决方案--------------------
fread 操作的是二进制
fscanf操作的是文本
所以你open的文件时文本文件,不是二进制文件