gpt4 book ai didi

c++ - 使用 strlen 在 winapi 中获取字符串长度

转载 作者:行者123 更新时间:2023-11-30 20:14:04 26 4
gpt4 key购买 nike

我正在尝试获取缓冲区的长度,但出现未处理的异常错误。谁能帮助我吗?我做错了什么?

case WM_COMMAND:
switch (LOWORD(wp))
{
case IDC_MAIN_BUTTON:
{
char buffer[256];

SendMessage(hEdit,
WM_GETTEXT,
sizeof(buffer) / sizeof(buffer[0]),
(LPARAM*)(buffer));
int bl = strlen(buffer);
MessageBox(NULL,
bl,
"Information",
MB_ICONINFORMATION);
}
break;
}

最佳答案

第二个参数为MessageBox是一个指向 TCHAR 的指针。您传递一个整数(并且至少应该收到适当的警告)。

您必须首先将整数转换为字符串表示形式,例如在非 Unicode 版本中:

    int bl = strlen(buffer);
char buf[20];

_snprintf(buf, sizeof(buf), "%d", bl);

MessageBox(NULL, buf, "Information", MB_ICONINFORMATION);

(警告:代码未经测试。)

关于c++ - 使用 strlen 在 winapi 中获取字符串长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28009009/

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