C 编程/stdio.h/wscanf
外观
wscanf
wscanf 是 C 编程语言 中的标准 C 库函数。
它转换宽字符输入。此函数由头文件wchar.h支持。wscanf 是 scanf 的宽字符版本。
语法
int wscanf(const wchar_t[1]*input in formatted form)
它返回正确格式化的输入数量。如果未格式化的宽字符输入,则计数可能为零或小于输入的输入。
示例
# include<stdio.h>
int main()
{
int j, result;
float a;
char ch, string[128];
wchar_t wch, wst[128];
result = scanf( "%d %f %c %C %80s %80S", &j, &a, &ch, &wch, string, wst );
printf( "The number of fields input is %d\n", result );
printf( "The contents are: %d %f %c %C %s %S\n", j, a, ch, wch, string, wst);
result = wscanf( L"%d %f %hc %lc %80S %80ls", &j, &a, &ch, &wch, string, wst );
wprintf( L"The number of fields input is %d\n", result );
wprintf( L"The contents are: %d %f %C %c %hs %s\n", j, a, ch, wch, string, wst);
return 0;
}
现在,如果给定输入如下: 83 56.6 k m Scanf input
54 22.3 a f Wscanf input
那么输出将如下所示
输入字段数为 6
内容为:83 56.599998 k m Scanf input
输入字段数为 6
内容为:54 22.300003 a f Wscanf input
因此 scanf 返回正确格式化的字段数,或者换句话说,成功分配的字段数。它不返回未正确格式化的字段的计数,并且此类值被读取但未分配。如果在文件的第一字符读取中遇到文件结尾字符,则返回EOF。
参考