📅  最后修改于: 2023-12-03 15:13:57.840000             🧑  作者: Mango
在 C++ 中,vfwscanf() 函数可以根据指定的格式字符串从指定的流中读取数据,并依次存储到相应的变量中。vfwscanf() 和 fwscanf() 的用法类似,但需要传入一个 va_list 类型的参数来读取可变参数。
以下是 vfwscanf() 函数的基本语法:
#include <cwchar>
int vfwscanf(std::FILE* stream, const wchar_t* format, std::va_list arg);
读取成功时返回成功读取的参数个数,读取失败或遇到流结束符时返回 EOF。
以下代码演示了如何使用 vfwscanf() 从标准输入中读取并解析一个日期:
#include <cstdio>
#include <cwchar>
int main()
{
int year = 0, month = 0, day = 0;
std::wprintf(L"Please input a date (YYYY-MM-DD): ");
std::wscanf(L"%d-%d-%d", &year, &month, &day);
std::wprintf(L"The date you entered is: %d-%d-%d\n", year, month, day);
return 0;
}
在上面的示例中,我们通过调用 std::wscanf() 函数来读取输入的日期,读取成功后将年、月、日分别存储到三个整型变量中。最后,我们通过 std::wprintf() 打印出读取到的日期。