对于这些基本的数据类型的转换有时会弄得我们很头疼。不会写,不敢写,写了怕错。虽然现在跑qt下了,这不遇见了第一次需要数据类型转换的时候了。
先说Qt中的QString如何转char*吧。
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QString str1 = “Test”;
QByteArray ba = str1.toLatin1();
const char *c_str2 = ba.data();
printf(“str2: %s”, c_str2);
return app.exec();
}
这里得注意,中间的ba变量是必不可少的,不能直接用str1.toLatin1().data()。
然后就是char*转QString:
方法一:QString string = QString(QLatin1String(c_str2)) ;
方法二:如果是中文系统,直接用 (const char*) str.local8Bit()
例如
printf(“%s”, (const char*) str.local8Bit());
str是一个QString
记录了一些自己学习过程中的知识,希望对你有帮助,也希望转载能保留原文地址。谢。
超越C++原创文章,转载请注明来源并保留原文链接
本文链接:http://www.beyondc.cn/qt-in-the-qstring-and-char-conversion.html