在 Unicode MFC 应用程序中将 CString 转换为 Const char*
问题:
如何我将 CString(特别是当它包含 TCHAR 字符时)转换为 Unicode MFC 应用程序中的 const char* 表示形式?
解决方案:
要有效地转换 TCHAR CString对于 ASCII,您应该使用 CT2A 宏。该宏不仅允许 ASCII 转换,还允许转换为 UTF8 或其他 Windows 代码页。下面是一些示例来演示其用法:
<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); // 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>
此外,还有一个用于从 ASCII 转换为 Unicode (CA2T) 的宏。如果您有 VS2003 或更高版本,则可以在 ATL/WTL 应用程序中使用这些宏。更详细的信息可以在 MSDN 文档中找到。
以上是如何在 Unicode MFC 应用程序中将 CString 转换为 const char*?的详细内容。更多信息请关注PHP中文网其他相关文章!