• 3948阅读
  • 6回复

[提问]能将QString转化为C的字符串形式么? [复制链接]

上一主题 下一主题
离线zmx_zmx_zmx
 
只看楼主 倒序阅读 楼主  发表于: 2013-03-17
如题。。
离线pxiao_xiao

只看该作者 1楼 发表于: 2013-03-17
这两者应该都能转化成 char *
离线zmx_zmx_zmx
只看该作者 2楼 发表于: 2013-03-17
回 1楼(pxiao_xiao) 的帖子
我的解决办法比较麻烦。。。刚刚自己去找了说明用QStirng :: toLocal8Bit()转化为QByteArray然后再使用QByteArray::data()再获取它的指针
离线roywillow

只看该作者 3楼 发表于: 2013-03-17
回 2楼(zmx_zmx_zmx) 的帖子
确实只有类似这样的解法吧
QString内部是unicode编码,而c串没有规定编码,所以一般都要先转成特定的编码,这个输出的结果就是个QByteArray,然后再从它得到char*
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线zmx_zmx_zmx
只看该作者 4楼 发表于: 2013-03-17
回 3楼(roywillow) 的帖子
这个。。toLocal8Bit()其实有点风险的吧,local的东西是不确定的啊,这样在其他环境编译的话结果未知吧。。。
离线roywillow

只看该作者 5楼 发表于: 2013-03-17
回 4楼(zmx_zmx_zmx) 的帖子
如果是系统之间互相交流的话好像确实存在风险
我记得好像有toUtf8(),这个相对安全一些,只要使用这个c串的函数也使用utf8编码
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线XChinux

只看该作者 6楼 发表于: 2013-03-18
toStdString().c_str(),如果你自己能控制的话。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个