gpt4 book ai didi

qt - Qdebug 显示十六进制值

转载 作者:行者123 更新时间:2023-12-03 13:18:58 25 4
gpt4 key购买 nike

我正在尝试使用 QDebug 以十六进制格式显示一个数字。下面是我写的代码。它正在工作,但输出的字符串内容用双引号括起来:

如何删除这些引号?

m_CanMsg_ptr->id = 0x720;
m_CanMsg_ptr->sizeData = 1;
m_CanMsg_ptr->data[0] = 0x05;

MessageID.setNum(m_CanMsg_ptr->id,16);
DataSize = QString("%1").arg(m_CanMsg_ptr->sizeData, 0, 16);
data = QString("%1").arg(m_CanMsg_ptr->data[0], 0, 16)

qDebug() << "Heart-Beat : Msg ID = " << MessageID << " Msg DLC = " << DataSize;
qDebug() << "Msg Data " << " = " << data;

我按照这些资源做了:

http://forum.qt.io/topic/5003/moved-how-to-display-a-local-variable-in-hex-when-debugging-a-qt-app/2
http://qt.shoutwiki.com/wiki/Convert_hexadecimal_to_decimal_and_vice-versa_in_Qt

enter image description here

最佳答案

另一种方法是:

int value = 0xFFFF;
qDebug() << QString::number(value, 16);

希望这可以帮助。

编辑:
要删除引号,您可以将数字转换为指针,因为 qt 将在不使用引号的情况下对其进行格式化。例如:
int value = 0xFFFF;
qDebug() << (void *) value;

有点hackish,但它有效。

关于qt - Qdebug 显示十六进制值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19358967/

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