CString和string在unicode与非unicode下的相互转换(转)
Posted ~小小鸟~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CString和string在unicode与非unicode下的相互转换(转)相关的知识,希望对你有一定的参考价值。
原文转自 http://blog.csdn.net/u014303844/article/details/51397556
CString和string在unicode与非unicode下的相互转换
最近想写一个手机控制电脑的玩具,涉及到了socket通信,数据采用json通用格式,首先是jsoncpp的编译问题太烦了,然后还有更烦的,java中的String多容易的玩意儿,然后到了c/c++/mfc中超级烦,搜索了很久的攻略,用了大把的时间,最后写了个这玩意儿出来,或许可以帮助到一些需要此的道友们哈
string toString(CString cs) { #ifdef _UNICODE //如果是unicode工程 USES_CONVERSION; std::string str(W2A(cs)); return str; #else //如果是多字节工程 std::string str(cs.GetBuffer()); cs.ReleaseBuffer(); return str; #endif // _UNICODE } CString toCString(string str) { #ifdef _UNICODE //如果是unicode工程 USES_CONVERSION; CString s(str.c_str()); CString ans(str.c_str()); return ans; #else //如果是多字节工程 //string 转 CString CString ans; ans.Format("%s", str.c_str()); return ans; #endif // _UNICODE }
以上是关于CString和string在unicode与非unicode下的相互转换(转)的主要内容,如果未能解决你的问题,请参考以下文章
Convert CString to ANSI string in UNICODE projects