在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中文網其他相關文章!