2个回答
展开全部
就把它当一维数组读进来。当知道行或列时,可以通过下标计算,得到它在一维中的位置。
#include <stdio.h>
#include <stdlib.h>
main(){
FILE *fin;
char namein[80]="a.txt"; // 假定文件名已知
int n=0,t,i;
int *x;
fin = fopen(namein,"r"); //打开文件
if (!fin){printf("Can not open %s\n",namein); return 1;}
while(1){
if ( fscanf(fin,"%d",&t) ==EOF) break; // 一直读到 文件尾
n++; // 一共有多少个数
}
rewind(fin); // 回绕文件
x = (int *) malloc(sizeof(int) * n); // 动态分配一维数组
for(i=0;i<n;i++) fscanf(fin,"%d",&x[i]); // 读入数据,存于一维数组
fclose(fin);
for(i=0;i<n;i++) printf("%d ",x[i]);
// 若输入行或列数,这里可以算下标。j 行 i 列 一维下标 index = j * row_length + i
return 0;
}
#include <stdio.h>
#include <stdlib.h>
main(){
FILE *fin;
char namein[80]="a.txt"; // 假定文件名已知
int n=0,t,i;
int *x;
fin = fopen(namein,"r"); //打开文件
if (!fin){printf("Can not open %s\n",namein); return 1;}
while(1){
if ( fscanf(fin,"%d",&t) ==EOF) break; // 一直读到 文件尾
n++; // 一共有多少个数
}
rewind(fin); // 回绕文件
x = (int *) malloc(sizeof(int) * n); // 动态分配一维数组
for(i=0;i<n;i++) fscanf(fin,"%d",&x[i]); // 读入数据,存于一维数组
fclose(fin);
for(i=0;i<n;i++) printf("%d ",x[i]);
// 若输入行或列数,这里可以算下标。j 行 i 列 一维下标 index = j * row_length + i
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询