gpt4 book ai didi

c++ - 在 C++ 中打印时只显示一个字符

转载 作者:行者123 更新时间:2023-11-27 23:40:48 25 4
gpt4 key购买 nike

这是我的代码:

auto text = new wchar_t[WCHAR_MAX];
GetWindowTextW(hEdit, text, WCHAR_MAX);
SetWindowTextW(hWnd, text);
printf_s((const char *)text);

打印时,char(文本)只输出一个字符到控制台。它是一起运行的 WINAPI gui 和控制台。它成功设置了 winapi 标题并成功获取文本,但我不知道为什么这只向控制台打印一个字符...

最佳答案

您正在执行从宽字符串到窄字符串的原始转换。这种转换永远不会安全。

宽字符串在 Windows 中存储为两个字节的字。在您的例子中,第一个字符的高字节是 0,而 x86 是小尾数法,因此打印在第一个字符处停止。

关于c++ - 在 C++ 中打印时只显示一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55078036/

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