1. 程式人生 > >QString和string的相互轉換及亂碼處理

QString和string的相互轉換及亂碼處理

String和QString之間的轉化

資料結構課程設計中,用Qt玩圖形化,經常因為QString和string的轉化出現問題,而出現一些莫名其妙的錯誤。
垃圾百度找了半天沒有解決方案,多虧了成都-賤賤O_o噠大神的相助。(適用於QT5)

QString qstr;
string str;
str = qstr.toStdString();
qstr = QString::fromStdString(str);

雖然成功轉化了,但是會出現亂碼。

轉化與亂碼處理

std::string cstr;
QString qstring;
//從std::string 到QString
qstring = QString(QString::fromLocal8Bit(cstr.c_str()));
//從QString 到 std::string
cstr = string((const char *)qstring.toLocal8Bit()); //不需要從gbk轉到utf8 QString value_content = QString::fromStdString(vec[i].content); QString value_classname = QString::fromStdString(vec[i].classname);