CString,string,char陣列的轉換

2021-07-02 16:15:44 字數 1380 閱讀 6153

//----------------ansi字串轉換為unicode字串----------------------//   

// 待轉換的陣列

char szdcbparam[50] = ;

// 計算需要的緩衝區大小

dword dwnum = multibytetowidechar (cp_acp, 0, szdcbparam, -1, null, 0);

// 分配存放轉換後資料的緩衝區

wchar_t *pwtext = new wchar_t[dwnum] ;

// 轉換後的資料存放在pwtext所指向的空間

if (!multibytetowidechar (cp_acp, 0, szdcbparam, -1, pwtext, dwnum))

// 注: 如果是char型陣列轉cstring,直接使用cstring sztest = cstring(szdcbparam);

//----------------unicode字串轉換為ansi字串----------------------//

//----------------將cstring轉為char型陣列---------------------------//

// 待轉換的資料

cstring szerrorinfo = _t("this is a test string!");

// 儲存錯誤資訊的ansi字串的緩衝區,注意,緩衝區要足夠大

char infostring[100];

// 轉換後的資料存放在infostring陣列中

if (!widechartomultibyte(cp_acp,0,lpctstr(szerrorinfo),-1,infostring,100,null,null))

//----------------將cstring轉為string----------------------//

cstring cstr=_t("test");

std::string str = (cstringa)cstr;

// 注意,在vs2008下,使用std::string temp = cstr.getbuffer(0)不行。

//----------------將string轉為cstring----------------------//

std::string strtest = "test";

cstring cstrtest = cstring(strtest.c_str());

CString,string,char陣列的轉換

雖然網上關於cstring,string,char陣列的轉換的文章一大堆,但是感覺很亂很雜,而且許多並不能真正達到目的,在此,我把自己除錯通過的轉換方法貼到這裡,做個筆記。編譯環境 vs2008,use unicode character set ansi字串轉換為unicode字串 待轉換的陣列 ...

CString,string,char陣列的轉換

雖然網上關於cstring,string,char陣列的轉換的文章一大堆,但是感覺很亂很雜,而且許多並不能真正達到目的,在此,我把自己除錯通過的轉換方法貼到這裡,做個筆記。編譯環境 vs2008,use unicode character set ansi字串轉換為unicode字串 待轉換的陣列 ...

CString,string,char 的綜合比較

一 概述 string和cstring均是字串模板類,string為標準模板類 stl 定義的字串類,已經納入c 標準之中 cstring typedef cstringt cstring 為visual c 中最常用的字串類,繼承自c stringt類,主要應用在mfc和atl程式設計中,主要資料...