Qt中的QString与char*的转换

对于这些基本的数据类型的转换有时会弄得我们很头疼。不会写,不敢写,写了怕错。虽然现在跑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

  记录了一些自己学习过程中的知识,希望对你有帮助,也希望转载能保留原文地址。谢。

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(617) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值