mfc程式中在openfiledialog裡面,經常涉及到cstring到標準庫的string類的轉換。
(1) cstring->std::string
例子:cstring strmfc=「test「;
std::string strstl;
strstl=strmfc.getbuffer(0);
unicode情形下:
cstringw strw = _t("test");
cstringa stra(strw.getbuffer(0));
strw.releasebuffer();
std::string imgpath=stra.getbuffer(0);
stra.releasebuffer();
(2)std::string->cstring
例子:cstring strmfc;
std::string strstl=「test「;
strmfc=strstl.c_str();
afxextractsubstring是擷取字串的函式,很好用,不過美中不足的地方在與它只能使用單個字元作為分割符。
但是這種情況在很多時候都行不通,如果分割符需要是兩個字元以上呢?
cstring裡面有find,然後再組成陣列。
void split(cstring source, cstringarray& dest, cstring centerision)cstring source是需要擷取的原字串,}
cstringarray& dest 是最終結果的陣列
cstring centerision 是用來做分割符的字串
**:
C 實現CString和string的互相轉換
cstring std string 例子 cstring strmfc test std string strstl strstl strmfc.getbuffer 0 std string cstring 例子 cstring strmfc std string strstl test strm...
C 實現CString和string的互相轉換
cstring std string 例子 cstring strmfc test std string strstl strstl strmfc.getbuffer 0 unicode情形下 cstringw strw t test cstringa stra strw.getbuffer 0 s...
C 實現CString和string的互相轉換
使用ado時遇到轉化 1 bstr t與string的轉化 listtablename bstr t table name prstschema fields getitem table name value 獲取表的名稱 tablename.push back lpcstr table name ...