问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何将QString转换为char *或者相反?

发布网友 发布时间:2022-05-11 09:23

我来回答

1个回答

热心网友 时间:2023-10-10 03:22

  相互转换,参考示例如下:
  1.从QString转换为char *  
  要实现把一个QString转换为char *,一般遵循这样的步骤:
  第一步,对该QString对象调用QString的toLatin1()方法,以获得该字符串的latin1值。  
  注意toLatin1()的原型如下:QByteArray QString::toLatin1 () const
  它将返回一个QByteArray。  
  示例:
  QString qstr = "convert"
  QByteArray ba = qstr.toLatin1();  
  第二步,对第一步得到的QByteArray对象调用data()方法,以获得指向存储于这个数组中数据的指针。
  示例:
  const char *cstr = ba.data();  
  完整的一个控制台程序如下:
  int main(int argc, char **argv)
  {
  QApplication app(argc, argv);

  QString qstr = "convert";
  QByteArray ba = qstr.toLatin1();
  const char *cstr = ba.data();
  printf("cstr: %s", cstr); //输出显示
  return app.exec();

  }  
  当然也有其他方法,基本的差异在于使用toLatin1()还是使用QString的toStdString方法,或者是QString的.toLocal8Bit()方法,后续步骤不变。大家可以自行试验。
  2.把char*转换为QString。
  最为方便的做法是以一个QLatin1String对象作为参数,来调用QString的构造函数。
  示例:
  const char *cstr;
  QString qstr= QString(QLatin1String(cstr));
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求大学生谈恋爱的各种弊端 大学生恋爱的利大于弊吗? 大学生谈恋爱的弊处 dnf现在站街16000的物攻 增加100物攻能张多少 家里养的蚕宝宝是要蜕皮了吗 富贵包硬和软的区别 【已完成】为什么腋窝突然有异味? 女生为什么有狐臭症状? 为什么会狐臭 万视宝这个牌子是做什么的?有人了解嘛? like的过去式怎么写 英语词like的语法怎么写 like的花式写法 “喜欢”的英语单词怎么写? “like”的第三人称单数形式怎么写? 怎样水垢清洗? 如何查看手机登陆过的 如何通过微信ID找? 黑豆 枸杞 红枣 普洱,可以同时泡茶吗? iPhone里面的一分钟的视频变成二十几分钟一帧帧的视频是怎么回事? 6sp音量键弹性小 新买的裤子口袋为什么是缝着的? 为什么vivox9plus比以前反应慢好多? 怎样在运动裤口袋上装个拉链 vivox9plus触屏不灵敏是怎么回事? 裤子要不要拉链口袋 裤子口袋上有拉鍊的叫什麼裤子?淘宝上应该怎麼搜? vivox9plus与vivox9s的区别? vivox9plus的价格 17岁了怎么长高 like第三人称单数形式怎么写? 如何多开一个? Qt中QString转还为QChar 用like写三种表达方式 like的反问句和疑问句怎么写 马六车钥匙换电池方法 马六汽车钥匙怎么打开换电池 在Qt中如何将QString转换为const char* quick、like、的音标怎么写 QString每个字符占两字节,怎么转换成一字节的char whats he like复数怎么写 Qt中,把UTF-8的QString,转换成GBK的char[],怎么做? 秋天有怎么写用i like? 马自达车钥匙换电池怎么打开它 国米的帅哥 做凉皮洗完面水沉淀一个小时加豌豆粉可以做吗? 小吃培训五彩凉皮培训五彩凉皮怎么做五彩凉皮的做法 微信id怎么查出? 大数据侯圣文什么来头? 网银可以跨行还信用卡吗