qDebug()能否以二进制格式输出数据?
例如,我想检查一些状态变化:
unsigned char status;
...
qDebug() << "Status: " << status;
我想以二进制格式生成输出,例如:
Status: 1011
答案 0 :(得分:11)
如果您想以二进制打印,可以使用:
bin
unsigned char status = 11;
qDebug() << "Status:" << bin << status;
Output:
"Status: 1011"
QString::number()
unsigned char status = 11;
qDebug() << "Status:" << QString::number(status, 2);
Output:
"Status: 1011"
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