Tanky WooRSS

C++输入汉字

30 Jul 2010
这篇博客是从旧博客 WordPress 迁移过来,内容可能存在转换异常。

刚开始以为只需要充宽字符存储就可以了,实际不然,

还得加:

imbue(locale("chs"));

C++里面用L宏的时候只是说是宽字符,但是并不一定是Unicode,也就是说具体使用什么字符集要程序员自己去设定,这就是imbue的作用,那你文件里不能输入汉字也是这个问题,你只要象下面一样设置下就可以了: wchart wch = L'我; UNICODE 码 wchart wch2 = '我' ; GB2312 码。

in.imbue(locale("chs"));   
in>>text;   
out.imbue(locale("chs"));   
out<
#include 
using namespace std;
int main()
{
    cout << "Input your name:" << endl;
    wchar_t ch;
    wcin.imbue(locale("chs")); 
    wcin >> ch;
    wcout.imbue(locale("chs")); 
    wcout << ch << endl;
    getchar();
    cout << "\aOperation \"HyperHype\" is now activated!\n";
    cout << "Enter your agent code:________\b\b\b\b\b\b\b\b";
    string code;
    cin >> code;
    cout <<"\aYou entered " << code << "...\n";
    cout << "\aCode verified! Proceed with Plan Z3!\n";
    return 0;
}