我有一個使用std :: string和std :: wstring的C++中的MFC應用程序,並且經常從一個轉換到另一個,還有一大堆其他的廢話。我需要將所有內容標準化爲單一格式,所以我想知道是否應該使用CString或std :: wstring。我使用哪種寬字符字符串結構? CString vs wstring
在應用程序中,我將需要從字符串表中生成字符串,需要使用大量需要常量tchar或wchar_t指針,編輯控件的Windows調用,並與需要BSTR的COM對象的API進行交互。
我也有字符串的向量,所以有CStrings向量有任何問題嗎?
哪一個更好?每個的優缺點是什麼?
實例
BSTR到wstring的
CComBSTR tstr;
wstring album;
if((trk->get_Info((BSTR *)&tstr)) == S_OK && tstr!= NULL)
album = (wstring)tstr;
的wstring到BSTR
CComBSTR tstr = path.c_str();
if(trk->set_Info(tstr) == S_OK)
return true;
字符串資源wstring的
CString t;
wstring url;
t.LoadString(IDS_SCRIPTURL);
url = t;
GetProfileString()返回一個CString。
整數字符串格式:
wchar_t total[32];
swprintf_s(total, 32, L"%d", trk->getInt());
wstring tot(total);
Duplicate:http://stackoverflow.com/questions/485654/pros-and-cons-of-different-string-types-in-c http://stackoverflow.com/questions/133364/how-do-你處理字符串在C – 2010-01-04 17:37:34
是不是真的重複 - 我想比較兩個給我的特殊情況,這對兩者都有優點和缺點。 – Vanwaril 2010-01-26 03:44:12