C语言,如何将一个文件里面的数据读出来,然后转到一个结构体里?用什么函数?或有什么方法?

2025-02-01 14:54:30
推荐回答(3个)
回答1:

给你看一个示例程序,你就明白了:

#include
#include

#define M 4
#define N 5
int fun (int a[M][N])
{
int i,j,sum=0;
for (i=0;i {
for (j=0;j sum=sum+a[i][j];
}
return(sum);
}
void main()
{
int aa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8}, {1,3,5,7,0}};
int i, j, y;
void NONO ();
printf ("The original data is : \n");
for (i=0; i {
for (j =0; j printf("%6d", aa[i][j]);
printf ("\n");
}
y = fun (aa);
printf("\nThe sum: %d\n" , y);
printf("\n");
NONO();
}
void NONO ()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
int i, j, y, k, aa[M][N] ;
FILE *rf, *wf ;
rf = fopen("in.dat","r");
wf = fopen("out.dat","w");
for(k = 0 ; k < 10 ; k++) {
for(i = 0 ; i < M ; i++)
for(j = 0 ; j < N ; j++)
fscanf(rf,"%d", &aa[i][j]);
y = fun (aa);
fprintf(wf,"%d\n", y);
}
fclose(rf);
fclose(wf);
}

回答2:

fread或者read

回答3:

fread
功 能: 从一个流中读数据
函数原型: size_t fread( void *buffer, size_t size, size_t count, FILE *stream );
参 数:
1.用于接收数据的地址(指针)(buffer)
2.单个元素的大小(size) :单位是字节而不是位,例如读取一个整型数就是2个字节
3.元素个数(count)
4.提供数据的文件指针(stream)
返回值:成功读取的元素个数