CString裝換成const char 的問題

2021-06-15 07:09:24 字數 658 閱讀 1045

cstring裝換成const char*有兩種情況:

1.字串為ansi字串:

在這種情況下,只需用lpcwstr getbuffer(intnminbuflength

)函式將cstring型別轉換成lpctstr型別,ansi情況下,lpctstr 就是 const char*,例如:

cstring cstr;

const char* ch = cstr.getbuffer(sizeof(cstr));

2.字串為unicode字串:

在這種情況下,在將cstring型別轉換成lpctstr型別後,還需使用atl的轉換巨集w2a將lpctstr型別裝換成const char*型別。注意轉換前加上uses_conversion以避免出現編譯錯誤。例如:

cstring cstr;

uses_conversion;

const char* ch = w2a(cstr.getbuffer(sizeof(cstr)));

這只是本人在寫程式過程中遇到的問題及解決方法,如果有什麼錯誤或其它更好的方法還望大家多多指教。

轉換成const 頂層const

頂層 const表明指標本身是個常量,底層 const 表明指標所指向的物件時乙個常量。頂層 底層 我覺得這個頂層 const top level const 和 底層 const low level const 應該是由來於距離指標的位置。我們來genelize頂層 const 頂層const可以...

C String與char 的相互裝換

string 轉換成 char string ss abcdefg char cc s.tochararray char 轉換成string string s new string cc 此外,byte 與 string 之間的裝換 byte bb encoding.utf8.getbytes ss...

轉換成const 細談c 的const

c const關鍵字小結 const 是constant的縮寫,本意是不變的,不易改變的意思。const 在c 中是用來修飾內建型別變數,自定義物件,成員函式,返回值,函式引數。1 c語言的const特點 const int a 10 不要把a看成常量 a的本質 是變數 只是 唯讀變數 c語言的co...