WinCe和Windows Mobile下的Unicode和ANSI字符串转换的方法

在WinCe和Windows Mobile下字符串是unicode,所以在开发native code的时候,特别是注意字符串的转换,下面是比较简单的字符串转换方法。记录下来,以便查找。

char szA[100]; // ANSI
WCHAR szW[200]; // Unicode

// regular call of sprintf: all strings are in ANSI
sprintf(szA, "%s""ANSI Str");

// convert string from Unicode into ANSI
sprintf(szA, "%S""Unicode Str");

// regular call swprintf. All string are in Unicode
swprintf(szW, L"%s", L"Unicode Str");

// convert string from ANSI into Unicode
swprintf(szW, L"%S""ANSI Str");

 


//convert CString(Unicode) to std::string
CString str = "mel";
std::
string city = CT2CA(str);

//convert std::string to CString(Unicode)
std::string str = "AA";
CString cstr 
= CComBSTR(str);

 

更深入的请参考 

一文讲清楚Windows Mobile和Wince(Windows Embedded CE)的字符集问题


 

作者:Jake LinJake's Blog on 博客园
出处:http://procoder.cnblogs.com

作品Jake Lin创作,采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。 任何转载必须保留完整文章,在显要地方显示署名以及原文链接。如您有任何疑问或者授权方面的协商,请给我留言
posted @ 2009-04-02 08:14  Jake Lin  阅读(2468)  评论(4编辑  收藏  举报