fwscanf

ストリーム (stream) から書式ワイド文字列に従ってデータを読み込みます.

#include <stdio.h>
#include <wchar.h>
int fwscanf(
    FILE * restrict stream,
    const wchar_t * restrict format,
    ...
);

fwscanf 関数は format が指す書式ワイド文字列に従って stream が指すストリームからデータを読込み,format に続く引数の指すオブジェクトに代入します.

引数

戻り値

  • 成功した場合: 代入された入力項目の個数
  • 失敗した場合: EOF

C言語サンプルプログラム

fwscanf 関数を使用してストリームからデータを読み込むサンプルプログラムを以下に示します.

/* header files */
#include <stdio.h>
#include <stdlib.h>
#include <wchar.h>

/* macros */
#define DATA_MAX 1024

/* main */
int main(void) {
    FILE *fp;
    char file_name[] = "sample.txt";
    wchar_t writeLine[DATA_MAX] = {L'\0'};

    /* ファイルオープン */
    if ((fp = fopen(file_name, "r")) == NULL) {
        fprintf(stderr, "%s\n", "error.");
        return EXIT_FAILURE;
    }

    /* サンプルファイルを読み込む */
    fwscanf(fp, L"%s", writeLine);

    /* ファイルクローズ */
    fclose(fp);

    wprintf(L"%s\n", writeLine);

    return EXIT_SUCCESS;
}

sample.txtの内容

sample.txt を以下のように用意したとします.

Snoopy!

実行例

サンプルプログラムの実行結果は以下のようになります.

Snoopy!