c++ - char 类型的参数与参数类型 LPWSTR 不兼容

标签 c++ windows pointers user-interface char

所以我正在用 C++ 学习 GUI 来制作 Windows 的东西,在我的 WM_COMMAND 情况下我有一个 if 语句:

 //declared globally
 char textSaved[20];
 HWND TextBox;

 //within WM_COMMAND case
 if (LOWORD(wParam) == 4)
         {
             int gwtstat =0;
             //char *t = &textSaved[0];
             gwtstat = GetWindowText(TextBox, &textSaved[0], 20);
         }

我的编译器告诉我“char”类型与“LPWSTR”类型的参数不兼容。如果有人告诉我这意味着什么以及如何解决它,我将不胜感激。这一点也是存储文本框的内容。

最佳答案

你可以试试这个:

std::vector<wchar_t> textSaved(20);
...
gwtstat = GetWindowText( TextBox, textSaved.data(), textSaved.size() );
testSaved.resize(gwtstat);
std::wstring str(textSaved.begin(), textSaved.end());

关于c++ - char 类型的参数与参数类型 LPWSTR 不兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21249754/

相关文章:

c++ - 如何分离分层数据和GUI?

c++ - 如何调试apache?我在哪里可以找到核心转储

c++ - 向调用线程发出信号,表明资源已在使用中

c++ - C++语法差异:2D和1D数组(指针算术)

c++ - 选择合适的数据结构

c++ - 结构与类的前向声明

windows - 使用免费工具开发基于 Windows 的轻量级(无运行时)GUI 应用程序

c# - 以编程方式打印文档

c - 通过函数传递指针

c++ - 引用指针后面的值