ファイルの内容が に渡されたフォーマット文字列と一致しない場合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ますが、 、、およびはどうなりますか?9000bc1xyz
C99標準は、 、 、および が値 、、および をそれぞれ保持することxを保証しますか?または、ファイル ストリームの位置インジケータは、解析に失敗した後も変更されないままであることが保証されており、その間に値を保持し、値を保持しますか?yz452x9000yz1