📅  最后修改于: 2023-12-03 14:59:45.014000             🧑  作者: Mango
getwchar()
是 C++ 语言中的一个标准库函数,它与 getchar()
函数唯一的区别在于它能够读取 wchar_t 类型的字符,而 getchar()
函数只能读取 char 类型的字符。
wint_t getwchar(void);
该函数返回值类型为 wint_t,表示它能够读取的字符范围更广,包括了 wchar_t 类型所能表示的所有字符。
getwchar()
函数用于从标准输入流(stdin)中读取一个字符,并返回该字符的 wint_t 类型值。当读取操作发生错误时,它返回一个特殊值 WEOF。使用该函数需要包含 <cwchar>
头文件。
下面的代码演示了如何使用 getwchar()
函数读取输入流:
#include <cwchar>
#include <iostream>
using namespace std;
int main() {
wchar_t ch;
// 读取一个字符
ch = getwchar();
// 判断是否读取成功
if (ch != WEOF) {
wcout << L"输入的字符是:" << ch << endl;
} else {
wcerr << L"读取失败" << endl;
}
return 0;
}
该程序中,我们使用 getwchar()
函数读取了标准输入流中的一个字符,并将读取的字符输出到控制台。当 getwchar()
函数返回值为 WEOF 时,意味着读取出现了错误,我们也会输出相应的错误信息。
需要注意的是,在使用 getwchar()
函数时,我们需要使用 wcout 或 wcerr 来输出 wchar_t 类型的字符,而不能使用 cout 或 cerr,否则可能出现乱码。