首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >连接DWORD和LPCTSTR

连接DWORD和LPCTSTR
EN

Stack Overflow用户
提问于 2016-06-13 08:39:45
回答 1查看 302关注 0票数 0

我有一个记录错误的遗留Windows应用程序。找到抛出什么样的错误是很好的,但是在找到项目的源代码之后,我意识到这是C++,我几乎没有使用C++的经验。

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

目前的代码如下:

代码语言:javascript
复制
DWORD dwError;
dwError = SomeFunction();

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

因此,我希望将dwError的值放入日志消息中。我来自C#背景,我尝试过Log(_T("Something failed (" + dwError + ")"));,但这显然是行不通的。

我还试着阅读连接LPCTSTR值的内容。我确实找到了一些命中,但它们似乎非常复杂,我不知道如何将它们揉成某种东西来处理这些遗留代码。

如何让dwError成为日志消息的一部分,最好是HEX符号。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-13 08:42:58

这个问题被标记为C++,但是代码是,问题是用C风格写的--每个解决方案都不一样;

对于C++,利用std::basic_string

代码语言:javascript
复制
DWORD dwError;
dwError = SomeFunction();

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

更多的C风格将是;

代码语言:javascript
复制
DWORD dwError;
dwError = SomeFunction();

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

sprintf链接到格式说明符的文档和HEX的文档将是%X

代码语言:javascript
复制
_stprintf(buffer, _T("Something failed: %X"), dwError);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37785200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档