我现在有一个TXT文件,其中格式为(并且格式确定)
1
22 33 44
55 66 77
88 99 100
然后我想用C语言读取这这个文件,然后把这些数据存在一个data[3][3]的int二维数组中,请问各位应该如何操作啊?谢谢大家了。
谢谢你啦!第一行是这个文件的序列号。fgets(buffer,255,fp)这句是只读了文件的第一行吗?然后for ( i=0;i<N;i++ ) for ( j=0;j<M;j++ ) fscanf("%d",&a[i][j]);
fclose(fp);这句读出的剩下三行吗?那为什么i和j都是从0开始呢?
fgets是读取一行,按照程序中写法是读取一行遇到换行结束,或者字符数达到255个时结束;
下面就是连读9次(MxN=9)分别放入a数组(fscanf的执行次数是9)
分别读入:
a[0][0],a[0][1],a[0][2] i=0时,j=0~2
a[1][0],a[1][1],a[1][2] i=1时,j=0~2
a[2][0],a[2][1],a[2][2] i=2时,j=0~2
由于访问a数组的第1个下标由i控制(i行),第2下标由j控制(第j列)所以你看到i和j的起始值均为0,结束值就是行数和列数,这样外循环i对应的每个值内循环分别访问这行的每个列,从而实现对整个数组的顺序访问、赋值。后面的printf也一样,每行结束还输出换行