gpt4 book ai didi

c++ - 在 Visual Studio 中将输出锁定到输出窗口

转载 作者:行者123 更新时间:2023-11-30 03:06:58 28 4
gpt4 key购买 nike

我的应用程序使用 TRACE 宏将调试数据发送到 Visual Studio 中的输出窗口。其中一些输出字符串是使用多次调用 TRACE 宏构建的,如以下代码片段所示:

BYTE i, len;

len = pMsg[APP_LEN_OFFSET] + sizeof(appPktHead_t) - APP_MSG_CODE_LEN;

TRACE(_T("%s: "), fnName);
TRACE(GetCmdIdStr( pMsg[APP_MSG_CODE_OFFSET] ));
TRACE(_T(" 0x"));

for ( i = 0; i < len; i++ )
{
TRACE(_T("%.2X "), pMsg[i]);
}

TRACE(_T("\r\n"));

我如何才能在此函数的持续时间内将输出锁定到输出窗口,或者在一次调用 TRACE 中发送整个字符串?谢谢。

最佳答案

我认为没有办法在 Visual Studio 中锁定输出窗口。我认为最简单的方法是将整个消息构建到 std::stringstreamwchar_t[] 对象中,然后将该单个值输出到 TRACE

自从我使用 stringstream 以来已经有一段时间了,所以这里可能有一些错误,但下面的内容应该会让你走上正轨

std::stringstream stream;
stream << fnName << ": ";
stream << GetCmdIdStr( pMsg[APP_MSG_CODE_OFFSET] );
stream << " 0x";
for ( i = 0; i < len; i++ )
{
stream << pMsg[i] << " ";
}

stream << "\r\n";
TRACE(stream.str().c_str());

关于c++ - 在 Visual Studio 中将输出锁定到输出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6116747/

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