Qt char * 转QString
Posted mcdull^0^
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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));
以上是关于Qt char * 转QString的主要内容,如果未能解决你的问题,请参考以下文章