现在的位置: 首页 > 综合 > 正文

《C++ primer》学习笔记之九:字符 char与宽字符wchar_t

2013年08月07日 ⁄ 综合 ⁄ 共 603字 ⁄ 字号 评论关闭
10 宽字符:
 char c = 'e';   //a ascii character
 wchar_t wc = L'e'; //a wide character
 char &str = "efg"; //a string
 wchar_t wstr = L"efg"; //a wide string
 wchar_t wc2 = 'e'; //a wide character
 //output:[e][101][efg][004520C8][101] (宽字符不能正常输出)
 cout<<'[' <<c <<']' <<'[' <<wc <<']' <<'[' <<str <<']' <<'[' <<wstr <<']' <<'[' <<wc2 <<']';
 //output:[e][e][efg][efg][e] (输出宽字符用wcout,本身与普通字符的现实没有区别)
 wcout<<'[' <<c <<']' <<'[' <<wc <<']' <<'[' <<str <<']' <<'[' <<wstr <<']' <<'[' <<wc2 <<']';
   输出宽字符要用wcout而不能用cout,不然不能正常显示(是一个数值,字符的ascii值?),但不影响后面的输出
   对于汉字,用wcout都无法在控制台上显示汉字,会出现严重的乱码,并使之后的输出无法进行。
    wchar_t ch = '的';
    //output:[
    wcout<<'[' <<ch <<']' <<endl;
  
   如何支持中文?

抱歉!评论已关闭.