fscanf,fwscanf

提供: RAD Studio
移動先: 案内検索

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++

+

+

+

+

関連項目