下面的代碼應該同時适用于多位元組字元集和Unicode字元集,上代碼:
<code>//将CString轉為std::string</code>
<code>string CMyUtil::CString2string(</code><code>const</code> <code>CString &cstr)</code>
<code>{</code>
<code> </code><code>CStringA stra((</code><code>TCHAR</code> <code>*)(</code><code>LPCTSTR</code><code>)(cstr));</code>
<code> </code><code>string str((</code><code>char</code> <code>*)(</code><code>LPCSTR</code><code>)(stra));</code>
<code> </code><code>return</code> <code>str;</code>
<code>}</code>
<code>//将std::string轉為CString</code>
<code>CString CMyUtil::string2CString(</code><code>const</code> <code>string &str)</code>
<code> </code><code>CString cstr(str.c_str(), str.length());</code>
<code> </code><code>return</code> <code>cstr;</code>
<code>//将CString轉為std::string(walker認為沒必要這樣用)</code>
<code>string CMyUtil::CString2string(CString cstr)</code>
<code> </code><code>CStringA stra(cstr.GetBuffer(0));</code>
<code> </code><code>cstr.ReleaseBuffer();</code>
<code> </code><code>string str = stra.GetBuffer(0);</code>
<code> </code><code>stra.ReleaseBuffer();</code>
本文轉自walker snapshot部落格51CTO部落格,原文連結http://blog.51cto.com/walkerqt/1427805如需轉載請自行聯系原作者
RQSLT