Qt5中char*和QString的互转问题

1.char *转换成QString

(1)如果char*中没有中文字符,那么转换的时候,非常的简单。

char *ch = "abcd";

QString strzw(ch); strzw = ch;等等

(2)如果char*中含有中文字符,那么转换的时候必须注意了:

char *ch = "abcd中国";

QString strzw = QString::fromLocal8Bit(ch);

但是如果是这样的:

char ch[] = "abcd中国";

QString strzw = QString::fromLocal8Bit(ch);也是一样的。

 

2.QString转换成char*

无论QString字符串中有无中文字符,用这种方式进行转换

QString str("abcd中文");

QByteArray cpath = str.toLocal8Bit();

char*p = cpath.data();

 

展开阅读全文

没有更多推荐了,返回首页