【问题标题】:_T("x") not acting as it should_T("x") 没有按照应有的方式行事
【发布时间】:2010-03-03 22:19:37
【问题描述】:

目前我遇到了很多关于 Unicode 的问题。据我了解, TCHAR 被定义为 wchar_t 或 char 取决于 _UNICODE 是否在某处定义,并且还有各种其他函数可以帮助解决此问题。显然 _T("x") 应该根据设置的方式将 'x' 评估为 wchar_t 或 char。我有以下代码:

TCHAR desiredClassName = _T("ChatClass");

它给了我以下不友好的错误信息:

error C2440: 'initializing' : cannot convert from 'const wchar_t [10]' to 'TCHAR'

这对我来说真的没有任何意义。当然 TCHAR 应该是 wchar_t 的东西吗?为什么不是?

顺便说一句,我根本不关心使用 Unicode,但显然 windows.h 或类似的东西迫使我这样做。如果互联网上有一些方便的常见问题解答以新手可以理解的方式解释所有这些不同类型的字符数组和字符串的各种不同格式,将不胜感激。

【问题讨论】:

  • A TCHAR 可以是本机 wchar_t 或无符号 short,具体取决于 _NATIVE_WCHAR_T_DEFINED。 (如果 _NATIVE_WCHAR_T_DEFINED,TCHAR == wchar_t。)

标签: c++ windows char


【解决方案1】:

应该是TCHAR*,而不是TCHAR

【讨论】:

  • 天哪,这行得通。我想你可以很容易地看到我学会了用 Java 编写代码。谢谢。
【解决方案2】:

试试

TCHAR* desiredClassName = _T("ChatClass");

注意*

【讨论】:

    【解决方案3】:

    你应该使用:

    TCHAR* desiredClassName = _T("ChatClass");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 2021-12-19
      • 1970-01-01
      • 2019-06-22
      • 2020-06-17
      • 2017-09-18
      • 1970-01-01
      • 2017-09-11
      相关资源
      最近更新 更多