如下:
例如:delete p;其中p是你函式返回的指標
這是因為在函式內部申請了記憶體,每次使用完函式之後,函式返回的是乙個指標,申請的空間還在,如果不釋放記憶體的話會造成記憶體洩露,建議最好釋放一下。
1//將單位元組char*轉化為寬位元組wchar_t*
2 wchar_t* ansitounicode( const
char*szstr ) 3
9 wchar_t* presult = new
wchar_t[nlen];
10 multibytetowidechar( cp_acp, mb_precomposed, szstr, -1
, presult, nlen );
11return
presult;
12}
1314
//將寬位元組wchar_t*轉化為單位元組char*
15char* unicodetoansi( const wchar_t*szstr )
16
22char* presult = new
char
[nlen];
23 widechartomultibyte( cp_acp, 0, szstr, -1
, presult, nlen, null, null );
24return
presult;
25 }
寬字元wchar t和窄字元char區別和相互轉換
1.首先,說下窄字元char了,大家都很清楚,就是8bit表示的byte,長度固定。char字元只能表示asii碼表中的256個字元,包括前128個可見字元和後面的128個不可見字元。而wchar t則是因為char所能表示的字元數太少 256個 而應運而生的,它的長度可以8bit,16bit,32...
寬位元組 多位元組 mbstowcs wcstombs
函式 size t wcstombs char dest,const wchar t src,size t n wide character to a multibyten 被寫入到 str 中的最大位元組數 size t mbstowcs wchar t dest,const char src,s...
windows下多位元組和寬位元組轉換
先簡單說下什麼是多位元組和寬位元組。多位元組是指使用多個位元組 1 3 表示乙個字元。比如gbk使用英文佔乙個位元組,中文佔2個,這個就是多位元組了。utf 8是使用1 3個位元組表示字元。還有big5等等。寬位元組一般是固定使用2個位元組表示乙個字元,utf 16 一般就是指unicode 1 m...