ファイルの内容が に渡されたフォーマット文字列と一致しない場合fscanf
、次に ? を呼び出すとどうなりfscanf
ますか?
ファイルに次の 2 行が含まれているとします。
9000 pig dog
4 5 2
プログラムは、開いているファイル ( fp
) を次のように解析しようとします。
int a = 1, b = 1, c = 1;
int x = 1, y = 1, z = 1;
fscanf(fp, "%d %d %d", &a, &b, &c);
fscanf(fp, "%d %d %d", &x, &y, &z);
これでwhileが保持され、値を保持し続けると思われa
ますが、 、、およびはどうなりますか?9000
b
c
1
x
y
z
C99標準は、 、 、および が値 、、および をそれぞれ保持することx
を保証しますか?または、ファイル ストリームの位置インジケータは、解析に失敗した後も変更されないままであることが保証されており、その間に値を保持し、値を保持しますか?y
z
4
5
2
x
9000
y
z
1