📜  C++ getwchar()(1)

📅  最后修改于: 2023-12-03 14:59:45.014000             🧑  作者: Mango

C++ getwchar() 函数介绍

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,否则可能出现乱码。

参考资料