为了账号安全,请及时绑定邮箱和手机立即绑定

将CString转换为const char *

将CString转换为const char *

C++
12345678_0001 2019-11-28 10:58:39
如何在Unicode MFC应用程序中从转换CString为const char*?
查看完整描述

3 回答

?
幕布斯7119047

TA贡献1794条经验 获得超8个赞

要将TCHARCString 转换为ASCII,请使用CT2A宏-这还将允许您将字符串转换为UTF8(或任何其他Windows代码页):


// 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);

还有一个宏可以从ASCII-> Unicode(CA2T)转换,只要您拥有VS2003或更高版本,就可以在ATL / WTL应用程序中使用它们。



查看完整回答
反对 回复 2019-11-28
?
临摹微笑

TA贡献1982条经验 获得超2个赞

如果您的CString是Unicode,则需要转换为多字节字符。幸运的是,有一个CString版本可以自动执行此操作。


CString unicodestr = _T("Testing");

CStringA charstr(unicodestr);

DoMyStuff((const char *) charstr);


查看完整回答
反对 回复 2019-11-28
  • 3 回答
  • 0 关注
  • 1207 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信