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...