CString和TCHAR之間相互轉換的問題。

2021-06-15 20:22:54 字數 650 閱讀 4601

cstring->tchar*的轉化可以用函式getbuff()

函式原型為:lptstr getbuffer( int nminbuflength );

cstring str("cstring");

tchar* szmsg = new tchar[100];

//其引數為cstring字串的長度

szmsg = str.getbuffer(str.getlength());

str.releasebuffer();

delete szmsg;

szmsg = null;

tchar*->cstring的轉化

tchar sztchar[18] = l"tchar";  

cstring  str;  

str.format(_t("%s"),sztchar);

在evc中,字串的一些函式也都發生了變化,例如字串拷貝,比較和連線變成了wcscpy 、acscmp 和wcscat。

還有一點要注意:在evc下程式設計很容易發生記憶體洩漏。這一點在vc中體現的不是很明顯,但是在evc中特別明顯,有乙個new或malloc來申請記憶體,一定要有相應的delete或free來釋放記憶體,否則很容易發生宕機。

EVC下CString和TCHAR 的轉換

在evc下寫程式,經常會遇到cstring和tchar之間相互轉換的問題。cstring tchar 的轉化可以用函式getbuff 函式原型為 lptstr getbuffer int nminbuflength cstring str cstring tchar szmsg new tchar ...

CString 轉換成TCHAR 的方法

方法一,使用強制轉換。例如 cstring thestring this is a test lptstr lpsz lptstr lpctstr thestring 方法二,使用strcpy。例如 cstring thestring this is a test lptstr lpsz new t...

char 和CString之間的轉換

cstring 是一種很特殊的 c 物件,它裡面包含了三個值 乙個指向某個資料緩衝區的指標 乙個是該緩衝中有效的字元記數 它是不可訪問的,是位於 cstring 位址之下的乙個隱藏區域 以及乙個緩衝區長度。有效字元數的大小可以是從0到該緩衝最大長度值減1之間的任何數 因為字串結尾有乙個null字元 ...