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());

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM