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;
如何支持中文?
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;
如何支持中文?