ATL字串轉換巨集

2022-04-02 08:22:40 字數 1055 閱讀 2006

在標頭檔案中定義了atl提供的所有轉換巨集,如:    

a2cw       (lpcstr)  -> (lpcwstr) 

a2w        (lpcstr)  -> (lpwstr) 

w2ca       (lpcwstr) -> (lpcstr) 

w2a        (lpcwstr) -> (lpstr)

所有的巨集如下表所示: 

a2bstr

ole2a

t2aw2a

a2cole

ole2bstr

t2bstr

w2bstr

a2ct

ole2ca

t2ca

w2ca

a2cw

ole2ct

t2cole

w2cole

a2ole

ole2cw

t2cw

w2ct

a2tole2t

t2ole

w2ole

a2wole2w

t2ww2t

上表中的巨集函式,非常的有規律,每個字母都有確切的含義如下:

2to 的發音和 2 一樣,所以借用來表示「轉換為、轉換到」的含義。

aansi 字串,也就是 mbcs。

w、ole

寬字串,也就是 unicode。

t中間型別t。如果定義了 _unicode,則t表示w;如果定義了 _mbcs,則t表示a

cconst 的縮寫

利用這些巨集,可以快速的進行各種字元間的轉換。使用前必須包含標頭檔案,並且申明user_conversion;使用 atl 轉換巨集,由於不用釋放臨時空間,所以使用起來非常方便。但是考慮到棧空間的尺寸(vc 預設2m),使用時要注意幾點: 

1、只適合於進行短字串的轉換; 

2、不要試圖在乙個次數比較多的迴圈體內進行轉換; 

3、不要試圖對字元型檔案內容進行轉換,因為檔案尺寸一般情況下是比較大的; 

4、對情況 2 和 3,要使用 multibytetowidechar() 和 widechartomultibyte(); 

字串及處理之七 ATL轉換巨集

atl轉換巨集 atl 轉換巨集是各種字元編碼之間進行轉換的一種很方便的方式,在函式呼叫時,它們顯得非常有用。為了使用這些巨集,需要先包含atlconv.h標頭檔案。atl轉換巨集的名稱是根據下面的模式來命名的 源型別 2 新型別 或者 源型別 2c 新型別 據有第二種形式的名字的巨集的轉換結果是常...

VC中的字串轉換巨集

atl7.0引入了幾個新的轉換類和巨集,現有的巨集提供了顯著的改善。新的字串轉換類和巨集的名稱,採取的形式如下 c sourcetype 2 c destinationtype ex 其中,c 表示目的型別是const型別的,ex 表示指定了儲存字串資料的固定靜態快取區的大小,如果字串轉換的結果超過...

VC中的字串轉換巨集

atl7.0引入了幾個新的轉換類和巨集,現有的巨集提供了顯著的改善。新的字串轉換類和巨集的名稱,採取的形式如下 c sourcetype 2 c destinationtype ex 其中,c 表示目的型別是const型別的,ex 表示指定了儲存字串資料的固定靜態快取區的大小,如果字串轉換的結果超過...