【发布时间】:2013-03-09 14:13:14
【问题描述】:
我正在使用 wcin 将单个字符存储在 wchar_t 中。然后我尝试使用 wcout 调用和法语字符 'é' 打印它:但我在控制台上看不到它。
我的编译器是 g++ 4.5.4,我的操作系统是 Ubuntu 12.10 64 位。
这是我的尝试(wideChars.cpp):
#include <iostream>
int main(){
using namespace std;
wchar_t aChar;
cout << "Enter your char : ";
wcin >> aChar;
wcout << L"You entered " << aChar << L" .\n";
return 0;
}
当我启动程序时:
$ ./wideChars
Enter your char : é
You entered .
那么,这段代码有什么问题?
【问题讨论】:
-
您的终端设置为什么编码?
-
您好,请问如何查看?问候
-
我收回我的回答。我已经在我自己的 Xubuntu 安装中检查了这一点,我看到了同样的问题。无论出于何种原因,
wcin拒绝读取“é”字符并设置失败位。 -
我认为这是一个编译器问题:因为我将第 7 行替换为 wcout