QT中关于 int 类型,char* 类型和QString类型之间的转换(数据读取出现乱码)

当字符串中包含汉字时,需要用特殊的处理方法,不然会产生乱码

QString->char *

#include <QTextCodec>      //头文件
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));      
                              //现在由于版本更新,只需添加这的一句话
QByteArray ba;
QString num;
ba = num.toLocal8Bit();    //不包含文字则可以用ba = num.toLatin1()        
char* A;
strcpy(A,ba.data);

QString ->int

QString m;
int a=m.toInt();

char*->QString

#include <QTextCodec>      //头文件
QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));      
                            //现在由于版本更新,只需添加这的一句话            
char* A;
QString str = QString::fromUtf8(A));    //char ->ASTring;

int->QString

int num;
QString aa=QString::number(num,10);     //按照十进制存入

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章