次のようなファイルを、既に割り当てられている 1 次元配列に読み込みたいと思います。
4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
最初の行は行/列の数を指定し、その後に行列の値が続きます。私のコードは次のとおりです。
int rows, cols;
infile = fopen("input1.dat", "r");
fscanf(infile, "%d %d\n", &rows, &cols);
printf("Rows: %d, Cols: %d\n", rows, cols);
int i, j;
double cur = 0;
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
cur = fscanf(infile, "%lf", &cur);
printf("%lf\n", cur);
matrix[(i*m)+j] = cur;
}
}
出力は次のようになります。
Rows: 4, Cols: 4
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
1.000000
私はサイトを1時間検索してきましたが、row/cols行の後の最初の行からでも、値が読み取られない理由がわかりません。助けてくれてありがとう!