概要
可変引数リストva_listを使用し、書式を指定してファイルストリームから入力する。
戻り値
fwscanf()と同じ。
備考
- この関数は
va_endマクロを呼び出さないため、呼び出し側でargに対してva_endを実行する必要がある - C++11で、参照するC標準ライブラリがC99へ更新されたことにともなって追加された
例
#include <cwchar>
#include <cstdarg>
#include <iostream>
#include <cstdio>
int input_values(const wchar_t* format, ...)
{
std::va_list args;
va_start(args, format);
int count = std::vfwscanf(stdin, format, args);
va_end(args);
return count;
}
int main()
{
int a = 0;
int b = 0;
int count = input_values(L"%d %d", &a, &b);
std::wcout << count << L": " << a << L' ' << b << std::endl;
}
出力例
2: 1 2
バージョン
言語
- C++11
処理系
- Clang: 5.0 ✅
- GCC: 5.1 ✅
- Visual C++: 2019 ✅
関連項目
fwscanfstd::vfscanf(): マルチバイト文字列版