gpt4 book ai didi

c++/win32 - LB_GETTEXT 只返回一个字符

转载 作者:搜寻专家 更新时间:2023-10-31 01:49:10 28 4
gpt4 key购买 nike

HWND listBox = GetDlgItem(hDlg, IDC_SCORES_LIST);
LRESULT r = SendMessage (listBox , LB_GETCURSEL, 0, 0);
LRESULT l = SendMessage (listBox , LB_GETTEXTLEN, (WPARAM)r, 0);
char* text = new char [l +1];
SendMessage (listBox, LB_GETTEXT, (WPARAM)r, (LPARAM)text);

这段代码的结果应该是“text”中存储了类似“Level 2”的东西。但是由于某种原因,最后,只有“L”存储在“文本”中。我正在绞尽脑汁寻找可能导致这种情况的原因,但我想不出任何事情。

最佳答案

您可能正在使用 UNICODE 进行编译,因此您正在调用的函数使用 UTF-16 文本进行操作。您应该使用 wchar_t 而不是 char,或者更好的是 TCHAR 宏(它映射到 wchar_t char 取决于您是用 UNICODE 还是 ANSI 编译)。

关于c++/win32 - LB_GETTEXT 只返回一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16879669/

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