c++ - qDebug - 如何以位输出数据(二进制格式)

标签 c++ qt qt5 qdebug

qDebug()可以输出二进制格式的数据吗?
例如,我想检查一些状态变化:

unsigned char status;
...
qDebug() << "Status: " << status;

我想生成二进制格式的输出,类似于:

Status: 1011

最佳答案

如果你想以二进制打印,你可以使用:

  1. bin
unsigned char status = 11;
qDebug() << "Status:" << bin << status;

Output:
"Status: 1011"
  1. QString::number()
unsigned char status = 11;
qDebug() << "Status:" << QString::number(status, 2);

Output:
"Status: 1011"
  1. QString::arg()
unsigned char status = 11;

// to print as string with 8 characters padded with '0'
qDebug() << "Status1:" << QString("%1").arg(status, 8, 2, QChar('0'));

// use noquote() if you do not want to print the quotes
qDebug().noquote() << "Status2:" << QString("%1").arg(status, 8, 2, QChar('0'));

Output:
Status1: "00001011"
Status2: 00001011

关于c++ - qDebug - 如何以位输出数据(二进制格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49074231/

相关文章:

c++ - 使用必须变化的 const 模板参数测试基于模板的类

c++ - 禁用 QDialogs 默认关闭按钮(左上角 "cross button")?

Qt QML 包含来自不同目录的问题

linux - 如何在 PyQt 应用程序中保存用户数据

c++ - 覆盖原始数据类型的转换

c++ - 通过具有重载运算符函数的构造函数进行自动类型转换

c++ - 如何用某种颜色填充 QGraphicsRectItem?

c++ - QTimer 超时不会在单元测试中触发

c++ - Lua 访问表的键和值

c++ - Qt:读取 .txt 文件时遇到问题