1. 在 Qt 下将 QString 转 char* 需要用到 QByteArray 类,QByteArray 类的说明详见Qt帮助文档。
因为 char* 最后都有一个‘/0’作为结束符,而采用 QString::toLatin1() 时会在字符串后面加上‘/0’。
Exp :
Qstring str = "helloworld";
char *s;
QByteArray ba = str.toLatin1();
因为 char* 最后都有一个‘/0’作为结束符,而采用 QString::toLatin1() 时会在字符串后面加上‘/0’。
Exp :
Qstring str = "helloworld";
char *s;
QByteArray ba = str.toLatin1();
s = ba.data();
这样就完成了 QString 向 char* 的转化。切记第三行 code 不可以省略。
2. 将 char * 转化成 QString
Exp :
QString str;
char *s = "helloworld";
str = QString(QLatin1String(s));