型別轉換總結

2021-08-20 08:26:32 字數 2185 閱讀 6643

1.string轉cstring (寬字元方式unicode)

(1).ca2t 巨集,這種方法不安全

string s;

ca2t szr(s.c_str());

cstring = (lpctstr)szr;//(lpctstr)為強制型別轉換

(2).multibytetowidechar函式

std::wstring wstringtowstring(const std::string& str) 

string strx

wstring x = wstringtowstring(strx);

cstring m_strreceive=m_strreceive.format(_t("%s"), x.c_str());

(3).c語言提供的寬字元(wchar_t型別)和多位元組字元( 乙個字元用乙個或者多個位元組表示) 轉換函式

std::wstring stringtowstring(const std::string& str)

string strx

wstring x = stringtowstring(strx);

cstring m_strreceive=m_strreceive.format(_t("%s"), x.c_str());

舉例:

strcpy(sbuf, "我最棒");  

size_t ssize=strlen(sbuf);

wchar_t * dbuf=null;

//注意:需要多分配乙個空間,以存放終止符

int dsize=mbstowcs(dbuf, sbuf, 0)+1;

dbuf=new wchar_t[dsize];

wmemset(dbuf, 0, dsize);

int nret=mbstowcs(dbuf, sbuf, ssize);

if(nret<=0)

else

2.cstring 轉 string(寬字元方式unicode)

vs2010 unicode下:

cstringw str(l"test"); 

cstringa stra(str.getbuffer(0));

str.releasebuffer();

std::string strs (stra.getbuffer(0));

stra.releasebuffer();

3.wchar char與string wstring的轉換

(1)、wchar_t 與wstring

可以直接轉換

wchar_t *x;

wstirng y;

x=y;

(2)、// wchar_t to string

void wchar_ttostring(std::string& szdst, wchar_t *wchar)

(3)、// string to wstring

void stringtowstring(std::wstring& szdst, std::string str)

1、byte轉16進製制

string * byte2hex(unsigned barray, int barray_len)

return str;

}

2、16進製制轉byte

(1)、

int change(char s, char bits) 

return n;

}int main(void)

(2)、

int hexchartoint(char c)

char* hexstringtobytes(string s)

{ int sz = s.length();

char *ret = new char[sz / 2];

for (int i = 0; i

C 型別轉換總結

c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a。c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...

C 型別轉換總結

c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a。c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。看似問題複雜化了,其實不然。c風格的型別轉換在程式語句中難以識 c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換...

C 型別轉換總結

c風格的強制型別轉換 type cast 很簡單,不管什麼型別的轉換統統是 type b type a。c 風格的型別轉換提供了4種型別轉換操作符來應對不同場合的應用。const cast,字面上理解就是去const屬性。static cast,命名上理解是靜態型別轉換。如int轉換成char。dy...