- 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());