共用方式為


字串轉換巨集

這些宏提供字串轉換功能。

ATL 和 MFC 字串轉換宏

這裡討論的字串轉換巨集對於 ATL 及 MFC 而言都有效。 如需 MFC 字串轉換的詳細資訊,請參閱 TN059:使用 MFC MBCS/Unicode 轉換宏和 MFC 宏和全域。

DEVMODE 和 TEXTMETRIC 字串轉換宏

這些宏會建立 DEVMODE 或 TEXTMETRIC 結構的複本,並將新結構內的字串轉換成新的字串類型。 宏會為新結構配置堆疊上的記憶體,並傳回新結構的指標。

MACRONAME( address_of_structure )

備註

例如:

DEVMODEW* lpw = DEVMODEA2W(lpa);

以及:

TEXTMETRICW* lptmw = TEXTMETRICA2W(lptma);

在巨集名稱中,來源結構中的字串類型位於左側(例如 A),而目的地結構中的字串類型位於右側(例如 W)。 代表 LPSTR、 OLE 代表 LPOLESTR、 T 代表 LPTSTR,而 W 代表 LPWSTR。

因此,DEVMODEA2W將具有 LPSTR 字串的結構複製到 DEVMODE 具有 LPWSTR 字串 DEVMODE 的結構中,TEXTMETRICOLE2T將具有 LPOLESTR 字串的結構複製到 TEXTMETRIC 具有 LPTSTR 字元串 TEXTMETRIC 的結構中等等。

結構中轉換的 DEVMODE 兩個字串是裝置名稱 (dmDeviceName) 和表單名稱 (dmFormName)。 DEVMODE字串轉換宏也會更新結構大小 (dmSize)。

結構中轉換的 TEXTMETRIC 四個字串是第一個字元 (tmFirstChar)、最後一個字元 (tmLastChar)、預設字元 (tmDefaultChar),以及斷字元 (tmBreakChar)。

TEXTMETRIC 字串轉換宏的行為DEVMODE取決於作用中的編譯程式指示詞,如果有的話。 如果來源與目的類型相同,則不會發生轉換。 編譯程式指示詞會變更 TOLE ,如下所示:

作用中的編譯器指示詞 T 變為 OLE 變為
none A W
_UNICODE W W
OLE2ANSI A A
_UNICODE和OLE2ANSI W A

下表列出 DEVMODETEXTMETRIC 字串轉換宏。

DEVMODE 巨集 TEXTMETRIC 巨集
DEVMODEA2W TEXTMETRICA2W
DEVMODEOLE2T TEXTMETRICOLE2T
DEVMODET2OLE TEXTMETRICT2OLE
DEVMODEW2A TEXTMETRICW2A

另請參閱

巨集