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。
參考