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的主要内容,如果未能解决你的问题,请参考以下文章

Qt下 QString转char*(转)

Qt下QString转char*

zz Qt下 QString转char*和char []

Qt QString转char*

QT *char 转QString

Qt uchar *转 Hex的QString方法代码