unicode问题

[复制链接]
查看11 | 回复0 | 2009-1-30 06:28:38 | 显示全部楼层 |阅读模式
我对unicode还有一些问题不会做,比如我要在一个CString,内容是"新浪网",我要取第二个汉字,应该怎么做?我是这样写的CString str("新浪网");wchar_t ch;ch=str.GetAt(2);但老是显示不正确.请高手指教.

                                                                                                你需要将你的工程切换到unicode配置,其实也就是定义了_UNIOCDE宏。定义字符串时,要使用_T宏,根据工程配置自动使用unicode或mbcs,如_T("新浪网"),或强制指定unicode使用L,如L"新浪网",然后按你上面的方法取。如果你的工程配置不是unicode,则需要系统提供的函数或宏先将其转化为unicode字符串,你那样直接取就不行了。                                       
提问者对答案的评价:

                                                                                                在Build前要定义_UNICODE, 这样_T宏才可以将字符串转换成unicode; TCHAR就表示wchar_t。CString str(_T("新浪网")); //或者Cstring str(L"新浪网");TCHAR ch; //或者wchar_t ch;ch=str.GetAt(1); //注意index是从0开始的这样ch就包含"新浪网"的第二个字"浪"的UNICODE编码。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行