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);     //按照十進制存入

 

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