gpt4 book ai didi

c++ - WINAPI:如何将编辑的文本转换为 std::string?

转载 作者:太空狗 更新时间:2023-10-29 21:07:17 24 4
gpt4 key购买 nike

我正在尝试以下代码:

int length = SendMessage(textBoxPathToSource, WM_GETTEXTLENGTH, 0, 0);
LPCWSTR lpstr;
SendMessage(textBoxPathToSource, WM_GETTEXT, length+1, LPARAM(LPCWSTR));
std::string s(lpstr);

但它不起作用。

最佳答案

你完全错误地使用它:

首先,您在这里传递的是类型而不是值:
SendMessage(textBoxPathToSource, WM_GETTEXT, length+1, LPARAM(LPCWSTR));

连接写入字符串的 WinAPI 函数需要缓冲区,因为不能直接写入 std::string。您需要定义一个空间来保存值:
WCHAR wszBuff[256] = {0};(当然你可以使用 new 分配存储空间,但你没有这样做,你只是声明了 LPCWSTR lpstr)。< br/>提取字符串并存储在该缓冲区中:
SendMessage(textBoxPathToSource, WM_GETTEXT, 256, (LPARAM)wszBuff);
并执行 std::wstring s(lpStr)

编辑:请注意使用 std::wstring,而不是 std::string。

关于c++ - WINAPI:如何将编辑的文本转换为 std::string?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5469183/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com