在標頭檔案中定義了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 表示指定了儲存字串資料的固定靜態快取區的大小,如果字串轉換的結果超過...