- qt5之後,默認編碼時utf-8,但當使用vs進行編輯時,就會需要進行中文字符轉換。以下時vs下編寫qt程序,QString和char*互轉方法。
vs 下初始化 QString
//方法1
QString a(QString::fromLocal8Bit("我是漢字"));
//方法2(需支持C11)
QString a(u8"我是漢字");
vs 下QString轉char*
std::string ss = (const char*)a.toLocal8Bit();
const char* chara = new char[20];
// 由於c指針容易失效,所以 不使用chara = ss.c_str();
strcpy(chara,ss.c_str());