QString和string的相互轉換及亂碼處理
阿新 • • 發佈:2019-02-17
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);