【问题标题】:LPCWSTR Error - C++LPCWSTR 错误 - C++
【发布时间】:2013-07-09 20:48:05
【问题描述】:

我正在尝试将文本绘制到窗口。够了,有两件事我想知道。为什么我使用的教程不能在此处放置 L"String" 而我必须这样做?

我对此感到困惑,无论如何,回到重点,我正在尝试绘制文本并且出现错误。

【问题讨论】:

  • 因为你已经定义了UNICODE,应该是这样。
  • @chris LPCWSTR 是否依赖于正在定义的 UNICODE?
  • @LuchianGrigore,不,但参数的类型是。这将是一个LPCSTR 没有。
  • 我该如何解决这个问题?
  • -1:请不要发布代码和错误消息的图像 -- 发布实际代码和实际错误消息作为格式化文本 .

标签: c++ winapi win32gui


【解决方案1】:

如果您在项目中定义了 UNICODE(您应该是默认设置),那么您可以使用

wstring s = L"Hello, World!";

或用于 TextOut 的 ANSI API

TextOutA(hdc, 10, 10, s.c_str(), s.size());

【讨论】:

    【解决方案2】:

    看下面的问题:

    What does LPCWSTR stand for and how should it be handled with?

    基本上,您正在尝试将常规字符串隐式转换为宽字符串,但它不允许您这样做。从最上面的答案:

    要获得一个普通的 C 文字字符串来分配给一个 LPCWSTR,你需要在它前面加上 L

    LPCWSTR a = L"TestWindow";

    【讨论】:

      猜你喜欢
      • 2012-06-06
      • 2013-03-22
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多