首頁 >後端開發 >C++ >如何在 Unicode MFC 應用程式中將 CString 轉換為 `const char*`?

如何在 Unicode MFC 應用程式中將 CString 轉換為 `const char*`?

Linda Hamilton
Linda Hamilton原創
2024-10-26 11:38:03827瀏覽

How to Convert a CString to `const char*` in Unicode MFC Applications?

在Unicode MFC 應用程式中將CString 轉換為const char*

將CString 從Unicode (TCHARII) 轉換為ASC *) 是對於與Unicode MFC 應用程式中的遺留程式碼或外部程式庫進​​行互動至關重要。以下是實現此目的的方法:

使用 CT2A 巨集

CT2A 巨集提供了一種將 Unicode CString 轉換為 ASCII 的便利方法。它採用 CString 作為參數和可選的第二個參數來指定代碼頁。預設情況下,它使用本地代碼頁。

<code class="cpp">// Convert using the local code page
CString str(_T("Hello, world!"));
CT2A ascii(str);
TRACE(_T("ASCII: %S\n"), ascii.m_psz);</code>

其他用例

CT2A 巨集也可用於將Unicode CString 轉換為UTF8 或任何其他格式其他Windows 程式碼頁:

<code class="cpp">// Convert to UTF8
CString str(_T("Some Unicode goodness"));
CT2A ascii(str, CP_UTF8);
TRACE(_T("UTF8: %S\n"), ascii.m_psz);

// Convert to Thai code page
CString str(_T("Some Thai text"));
CT2A ascii(str, 874);
TRACE(_T("Thai: %S\n"), ascii.m_psz);</code>

CA2T 宏和相容性

還有一個互補的CA2T 宏,可以從ASCII 轉換為Unicode。 CT2A 和 CA2T 巨集都可以在具有 Visual Studio 2003 或更高版本的 ATL/WTL 應用程式中使用。

其他資源

有關這些巨集的更多深入資訊和程式碼頁轉換,請參考 Microsoft Developer Network (MSDN)。

以上是如何在 Unicode MFC 應用程式中將 CString 轉換為 `const char*`?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn