QByteArray转QString打印或转0x十六进制显示
QByteArray转QString打印
QString sz=QString("Therm Msg: ");
sz.append(msg.toHex(' '));// QByteArray转QString
std::string s = sz.toStdString();
const char* c = s.c_str();
writeLog2(JGLOG_INFO,c);
效果图:
参考:https://www.cnblogs.com/sagerking/p/14011000.html
QByteArray带0x十六进制显示
以文件为例:
1 QByteArray data = file.readAll(); 2 QString ret; 3 for (int i = 0; i < data.count(); ++i) 4 { 5 ret.append( tr("0x%1,").arg((quint8)data.at(i),2,16,QLatin1Char('0')).toUpper()); 6 } 7 qDebug()<<ret;
如果不要大写就把.toUpper()去掉。
效果图:
转自:https://blog.csdn.net/qq_41622002/article/details/109130968
QT C++中实现打印QString
在调试QT C++代码过程中,有时候不免需要打印QString值以判断程序运行到哪一步,网上常有的用qDebug、std::out输出。但是嵌入式系统中很少有加入STD库。在这里我推荐一种直接调用printf的方法,简单又快捷
QString output
printf("%s\n",output.toStdString().c_str());