当前位置: C语言 -- 标准库 -- <wchar.h> -- getwchar

getwchar函数


概要:
#include <wchar.h>
wint_t getwchar(void);

描述:

该函数从标准输入流中读取宽字符。

该函数等价于getwc(stdin);


参数:

无。


返回值:

如果调用成功,函数返回读取的宽字符,该宽字符会被提升为wint_t类型。如果发生读取错误,函数返回WEOF,并设置错误指示符。如果发生编码错误,函数返回WEOF,并将宏EILSEQ存入errno


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
/*函数getwchar范例*/

#include <locale.h>
#include <wchar.h>

int main(void)
{
    setlocale(LC_ALL, "");

    wint_t wc;
    int count = 0;  //统计输入字符数。

    wprintf(L"输入一段文字:");
    while((wc=getwchar()) != L'\n')
    {
        ++count;
    }

    wprintf(L"共读取%d个字符。", count);

    return 0;
}


结果:

假设键盘输入为:

人类的历史就是一个不断地从必然王国向自由王国发展的历史。

将输出:

共读取28个字符。


相关内容:
fgetws 从输入流读取宽字符串的函数。
fgetwc 从输入流读取宽字符的函数。
getwc 从输入流读取宽字符的函数。
ungetwc 将宽字符推回输入流的函数。