1

読み取りコードは次のとおりです。

int Function(FILE fpi*, int *Ncols, int *Nrows) {
    if (fscanf(fpi, "%d", Nrows) > 0) {
        return fscanf(fpi, "%d", Ncols);
    } else {
        printf("%s\n", "EOF reached.");
        return -1;
    }
}

(注 - Function は単なる代用名です)。ファイルは次のようになります。

2 2
1 1
1 1
3 3
1 1 1
1 1 1
1 1 1

つまり、2 と 2 を取り、それらを Ncols と Nrows に格納し、次の 2 x 2 のデータ セット (1 のセット) で操作を実行します。ただし、メイン プログラムの while ループの最後に到達すると、次のようになります。

int eof = Function(fpin1, &Rsize1, &Csize1);
while (eof > 0) {
    stuff

    eof = Function(fpin1, &Rsize1, &Csize1);
}

それはただ死ぬだけです。

4

0 に答える 0