1.QString转char *
先将QString转换为QByteArray,再将QByteArray转换为char *。
注意:不能用char *mm = str.toLatin1().data();。
因为str.toLatin1()得到的QByteArray类型结果不能保存,最后转换mm的值就为空。
2. char * 转QString
使用QString的构造函数进行转换:QString(const QLatin1String &str);
QLatin1String的构造函数:QLatin1String(const char *str);
但是此方法或出现中文乱码。
采用以下两种方法则不会。
Qt5:char *ch = "中文的char*如何转换成QString?";
QString str(ch);
Qt4 :char *ch = "我是中文";
QString str = QString::fromUtf8(ch));