qDebug输出QString
qDebug输出QString
https://blog.csdn.net/lian_gong2009/article/details/50468887
在使用qDebug输出QString,直接输出会有问题,正确的方法如下:
- QString readString = “Hello World!”;
- qDebug("readString = %s",qPrintable(readString));
应该使用如下函数转换一下:
const char * qPrintable(const QString & str)Returns str as a const char *. This is equivalent to str.toLocal8Bit().constData().
#include <QtCore> #include <QCoreApplication> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString str = "QQ#34241988;E-mail#songwei_163@163.com;Address#Chengdu,Sichuan;MSN#songwei_163@163.com;Home Page#http://www.google.com"; QStringList strlist = str.split(";"); foreach(QString tmp_str,strlist) { qDebug("%s",tmp_str.toLocal8Bit().constData()); } qDebug("-------------------------------\n"); for(int i=0;i<strlist.count();i++) { QStringList strstrlist=strlist.at(i).split("#"); qDebug("Field:%s,Value:%s",qPrintable(strstrlist.at(0)),qPrintable(strstrlist.at(1))); // //for(int j=0;j<strstrlist.count();) //{ // qDebug("Field:%s",strstrlist.at(j++).toLocal8Bit().data()); // qDebug("Value:%s",strstrlist.at(j++).toLocal8Bit().data()); //} //qDebug("list[%d]=%s/n",i,strlist.at(i).toLocal8Bit().data()); // } return a.exec(); } /* QQ#34241988 E-mail#songwei_163@163.com Address#Chengdu,Sichuan MSN#songwei_163@163.com Home Page#http://www.google.com ------------------------------- Field:QQ,Value:34241988 Field:E-mail,Value:songwei_163@163.com Field:Address,Value:Chengdu,Sichuan Field:MSN,Value:songwei_163@163.com Field:Home Page,Value:http://www.google.com */

 
 
                
             
         浙公网安备 33010602011771号
浙公网安备 33010602011771号