1. 程式人生 > >Qt5中char*和QString的互轉問題

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