簡析MFC中CString用作C字串

2021-05-28 10:21:01 字數 648 閱讀 5629

mfc中cstring是乙個方便的字串操作的類, 然而很多函式需要傳遞字元指標, 這就需要進行cstring和普通字串的轉換。

1、cstring用作c字串常量。

直接使用強制型別轉換即可, 如:

cstring strsports(_t("hockey is best!"));

tchar sz[1024];

lstrcpy(sz, strsports);

2、用作可修改字串。要用傳遞字元指標的函式修改cstring。

方法:使用成員getbuffer和releasebuffer函式。

如:

cstring s( "abcd" );

lptstr p = s.getbuffer( 10 );

memset(p, 0x00, 10);// 應當加上這句**, 否則可能會出現因字串未初始化而另輸出的字串後有很多「燙燙燙燙」(在讀取檔案情況下)

strcpy( p, "hello" ); // directly access cstring buffer

s.releasebuffer( );// p 在該**以後不應繼續使用

cout << (lpctstr)s << endl;

MFC中關於CString 引數傳遞

當定義類介面時,必須確定為成員函式確定引數傳遞約定。現在有一些傳遞和返回 cstring 物件的標準規則。如果遵循作為函式輸入的字串和作為函式輸出的字串中所述的規則,那麼將得到正確而又有效的 作為函式輸入的字串 如果字串是某個函式的輸入,在大多數情況下,最好將該字串函式引數宣告為 lpctstr。在...

MFC中CString和string的轉換問題

說在前面的話 利用mfc進行程式設計時,我們從對話方塊中利用getwindowtext得到的字串是cstring型別,cstring是屬於mfc的類。而一些標準c c 庫函式是不能直接對cstring型別進行操作的,所以我們經常遇到將cstring型別轉化char 等等其他資料型別的情況。這裡總結備...

MFC中 CString型 轉到 int型

兩種方法可以用 1 可以為edit控制項關聯乙個int型的變數,然後通過使用updatedata函式來更新資料。2 直接用atoi函式 cstring str 12345 int a atoi str 補充 我知道你的問題所在了,vs2008預設的編碼方式是unicode,unicode下不能用at...