有关Unicode字符串的中文?在线等!!
LPWSTR pname;
......
CString str;
str.Format( "%S ",pname);//pname中含有中文,这样写,只能得到中文前的字符,后面都获取不了,该如何全部得到?
希望得到各位的帮助!感谢!!
[解决办法]
你如果在VC6.0可能比较麻烦,可能VC6对UNICODE 支持还不够好。
以下的代码是在VS2005通过的,建立工程时,你要选择对 UNICODE支持。
注意LPWSTR是宽字符.
LPWSTR pname = _T( "abd我是中国人 ");
CString str;
str.Format(_T( "%s "),pname);
AfxMessageBox(str);
如果在VC6下,可能试以下办法
LPWSTR pname ;//= new WCHAR[1024];
pname = L "abd我是中国人 ";
//CString str;
//str.Format( "%S ",pname);
::MessageBoxW(m_hWnd,pname,L "hello ",MB_OK);
因为pname 是宽字符直接调用宽字符函数 注意MESSAGEBOX 后面加了W,