我有一个txt文件
4
110
220
112
335
4是行数,4*3是整数的数量。我需要先读取“4”,然后读取剩余部分并将它们输入到一个数组中。
这是我的代码:
void main(){
int a,n;
int i=0,j=0,k[30]; //
int *N;
FILE *fp = fopen("test.txt", "r");
if(fscanf(fp, "%d", &a) != 1) { //
// something's wrong
}
n=3*a; //3*a numbers in the file
N = malloc(3 * a * sizeof(int));
for(i = 0; i <n;++i) {
int result=fscanf(fp, "%d", &N[i] );
}
fclose(fp);
for(j=0;j<3*a;j++){
k[j]=N[j];
}
printf("%d",k[0]);
}
当我打印k[0]
时,应该打印“1”,但实际上整行“110”被打印了。
还有其他的方法吗?
fscanf(fp, "%d", &a)
的结果,应该也测试result
。 - chux - Reinstate Monica