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 ",output.toStdString().c_str());

转自:https://blog.csdn.net/joe199106/article/details/53010370

原文地址:https://www.cnblogs.com/liushui-sky/p/15151039.html