Qt char * 转QString

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

posted @ 2017-03-22 20:18  mcdull^0^  阅读(1573)  评论(0编辑  收藏  举报