fscanf,fwscanf
stdio.h:インデックス への移動
ヘッダーファイル
stdio.h
カテゴリ
入出力ルーチン
プロトタイプ
int fscanf(FILE *stream, const char *format[, address, ...]);
int fwscanf(FILE *stream, const wchar_t *format[, address, ...]);
説明
ストリームからの入力をスキャンして書式設定します。
fscanf は,ストリームから読み取った一連の入力フィールドを 1 文字ずつスキャンします。各フィールドは,format が指す書式文字列で fscanf に渡された書式指定子にしたがって書式設定されます。最後に fscanf は,format に続く引数として渡されたアドレスに,書式設定した入力を格納します。書式指定子とアドレスの数は,入力フィールドの数と同じである必要があります。
メモ: 書式指定子の詳細は,「Scanf の書式指定子」 の説明を参照してください。
fscanf は,通常のフィールド終了文字(ホワイトスペース)に到達する前に,特定のフィールドのスキャンを停止する場合があります。または,さまざまな原因で完全に処理を終了する場合もあります。考えられる理由については,scanf を参照してください。
戻り値
fscanf は,スキャン,変換,および格納に成功した入力フィールドの数を返します。この戻り値には,スキャンされたが格納されなかったフィールドは含まれません。
fscanf がファイルの終わりで読み取りを試みた場合,戻り値は EOF になります。格納されたフィールドがない場合,戻り値は 0 になります。
例
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
int i;
printf("Input an integer: ");
/* 標準入力ストリームから
整数を読み取ります */
if (fscanf(stdin, "%d", &i))
printf("The integer read was: %i\n", i);
else
{
fprintf(stderr, "Error reading an integer from stdin.\n");
exit(1);
}
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |