1. 程式人生 > >CString和string在unicode與非unicode下的相互轉換(轉)

CString和string在unicode與非unicode下的相互轉換(轉)

cst toc ref 編譯 end con adding eas font

原文轉自 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下的相互轉換(轉)