qDebug()可以以二进制格式输出数据吗?
例如,我想检查一些状态变化:
unsigned char status;
...
qDebug() << "Status: " << status;
Run Code Online (Sandbox Code Playgroud)
我想以二进制格式生成输出,如:
Status: 1011
Run Code Online (Sandbox Code Playgroud)
eyl*_*esc 11
如果要以二进制打印,可以使用:
bin
unsigned char status = 11;
qDebug() << "Status:" << bin << status;
Output:
"Status: 1011"
Run Code Online (Sandbox Code Playgroud)
QString::number()
unsigned char status = 11;
qDebug() << "Status:" << QString::number(status, 2);
Output:
"Status: 1011"
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1267 次 |
最近记录: |