gpt4 book ai didi

c++ - 连接一个 DWORD 和一个 LPCTSTR

转载 作者:行者123 更新时间:2023-11-28 00:02:29 26 4
gpt4 key购买 nike

我有一个记录错误的旧版 Windows 应用程序。如果能找到抛出的错误类型会很好,但在找到项目的源代码后,我意识到这是 C++,而我几乎没有使用 C++ 的经验。

错误代码是DWORD,日志函数的输入是LPCTSTR

目前代码如下:

DWORD dwError;
dwError = SomeFunction();

if (dwError)
{
Log(_T("Something failed"));
}

所以我想将 dwError 的值放入日志消息中。来自 C# 背景的我尝试了 Log(_T("Something failed ("+ dwError + ")")); 但这显然不起作用。

我还尝试阅读有关连接 LPCTSTR 值的内容。我确实找到了一些匹配项,但它们看起来非常复杂,我不知道如何将它们融入到此遗留代码中。

如何让 dwError 成为日志消息的一部分,最好是十六进制表示法。

最佳答案

问题被标记为 C++,但代码和问题是用 C 风格编写的——每个问题的解决方案各不相同;

对于 C++,使用 std::basic_string;

DWORD dwError;
dwError = SomeFunction();

if (dwError)
{
std::basic_string<TCHAR> msg(_T("Something failed: "));
msg += std::to_string(dwError);
Log(msg.c_str());
}

更像 C 的风格;

DWORD dwError;
dwError = SomeFunction();

if (dwError)
{
TCHAR buffer[1024] = {};
_stprintf(buffer, _T("Something failed: %u"), dwError);
Log(buffer);
}

sprintf 的文档链接到 format specifiers ,对于 HEX,它将是 %X .

_stprintf(buffer, _T("Something failed: %X"), dwError);

关于c++ - 连接一个 DWORD 和一个 LPCTSTR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37785200/

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