【问题标题】:Convert const char* to LPCTSTR将 const char* 转换为 LPCTSTR
【发布时间】:2013-07-14 10:54:46
【问题描述】:

我有一个函数返回一个字符串为const char *

const char* get_text();

我需要调用一个函数AfxMessageBox(LPCTSTR text)

如何转换get_text()得到的字符串?

【问题讨论】:

  • get_text() 返回的字符串的编码(字符集)是什么?问题是 LPCTSTR 取决于项目设置中的字符集:对于非 Unicode,它与 const char* 相同,而对于 Unicode,它是 const wchar_t*。很可能您正在尝试获取 Unicode 字符串,但是您应该知道源字符串的字符集是什么。
  • @Inspired get_text 返回一个常规的 ASCII 字符串

标签: c windows string mfc


【解决方案1】:

当您使用 MFC 并假设 UNICODE 构建时(否则您不会遇到此错误!),可能最简单的方法是直接实例化 wchar_t 兼容 CString

CStringW szWide(getText());
AfxMessageBox(szWide);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多