ATL and MFC String Conversion Macros

| 0 Comments| | 00:07
Categories:
SourceType/DestinationType 描述
A ANSI 字元字串。
W Unicode 字元字串。
T 泛型字元字串 (當定義 _UNICODE 時,相當於 W,否則相當於 A)。
OLE OLE 字元字串 (相當於 W)。

例如,若要從 Unicode 字串轉換為泛型字串而不變更已轉換的字串,請使用 CW2CT

範例程式碼:

LPCTSTR szr = CA2T(szReplaceFile);

相當於這個:

LPCTSTR szr;
{
   CA2T temp(szReplaceFile);
   szr = temp.operator LPTSTR();
}

因為由暫存物件配置並從轉型運算子傳回的記憶體會在暫存物件終結時終結,所以在 szr 中使用該值會產生不適當的結果。

請改用此程式碼:

CA2T szr(szReplaceFile);

轉型運算子讓 CA2T 物件看起來像 LPCTSTR

ref:
String Conversion Macros
String and Text Classes
TN059: Using MFC MBCS/Unicode Conversion Macros

#unicode #ansi #convert

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *