【问题标题】:How to convert a character array to LPCTSTR [duplicate]如何将字符数组转换为 LPCTSTR [重复]
【发布时间】:2012-09-25 09:12:18
【问题描述】:

可能重复:
char array to LPCTSTR conversion in c
how can convert LPCSTR string into LPCTSTR string?

已经有很多可用的材料,但我是 C++ 新手,所以我无法正确理解它们。请帮忙。

【问题讨论】:

  • 如果UNICODE没有定义,那么const char *LPCTSTR是一样的。
  • @DietrichEpp:但这不是一个好主意。
  • 如果您至少费心搜索,您会找到this
  • 我到处搜索,但由于我是新手,所以无法正确获取它们。这是在这里问的最后一个选择,但事情是一样的。还是谢谢

标签: c++


【解决方案1】:

google 给了我this link,有很多信息。

类型名LPCTSTR可以分类为:

LP - Pointer
C - Constant
T = TCHAR
STR = String

根据项目设置,LPCTSTR 将映射到 LPCSTR (ANSI) 或 LPCWSTR (Unicode)。

类型名LPCSTR可以分类为:

LP - Pointer
C - Constant
STR = String

STR 与 char* 相同

类型名LPCWSTR可以分类为:

LP - Pointer
C - Constant
WSTR - Wide character String

这里的 WSTR 是 wchar_t* 或宽字符(2 字节字符)

最后但并非最不重要的this article 关于如何进行转换。如您所见,除了简单的类型转换之外,还有更多内容。

【讨论】:

  • LPCTSTR 不是 const char* 的另一个名称。它是 const char*const wchar_t*(甚至是 'const unsigned short*`)的名称,具体取决于您的编译选项。
  • 投反对票时请详细说明
  • -1 实际上并没有解释如何将const char * 转换为LPCTSTR,而且语气听起来很不爽。
  • 感谢 Minion91 的解释。通过说 LPCTSTR 是 const char * 的另一个名称,你的意思是,我可以这样做 char abc[]; LPCTSTR xyz = abc;
  • 第一个帖子其实有点问题,这次更新应该能提供你需要的一切
猜你喜欢
  • 2010-12-11
  • 1970-01-01
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 2013-12-05
  • 2012-07-24
  • 2012-12-26
相关资源
最近更新 更多