zoukankan      html  css  js  c++  java
  • Qt QString 、String、char* 三者之间相互转换

    • 把QString 转化为 char*

      思路:

      1.先把QString类型变为QByteArray类型
      2.从QByteArray类型再转为char* 类型

    例子

    1 QString qStr = "两袖清风";
    2 QByteArray qByteArray = qStr.toUtf8();
    3 char* cStr = qByteArray.data();
    4 qDebug()<<cStr<<endl;
    5 //
    6 qDebug()<<qStr.toUtf8().data();

    • 把char* 转化为QString

      思路:

      char *转化为QString比较容易,可以直接使用 QString的构造函数

    例子

    1 char *pCStr ="正大光明";
    2 QString qStr(pCStr);
    3 qDebug()<<qStr.toUtf8().data()<<endl;

    • QString 转C++自带标准string

      思路:

      使用QString类自带的toStdStirng()函数即可

    例子

    1 std::string str;
    2 QString qStr = "两袖清风";
    3 str =qStr.toStdString();
    4 //c_str()函数返回一个指向正规C字符串的指针, 内容与本string串相同.
    5 qDebug()<<str.c_str()<<endl;

    • string 转QString
      思路:

    使用QString自带的静态构造函数 fromStdString(string &s)即可

    例子

    1 std::string str="两袖清风";
    2 QString qStr=QString::fromStdString(str);
    3 qDebug()<<qStr.toUtf8().data()<<endl;

    • string –> char*
      思路:

    直接使用string自带的函数 c_str()即可

    例子

    1 std::string str="两袖清风";
    2 //Tips:c_str()函数是把string 转换为const char*类型
    3 const char* cStr = str.c_str();
    4 qDebug()<<cStr<<endl;

    • char* –> string
      思路:

    直接使用stirng构造函数即可

    例子

    1 char* cStr ="两袖清风";
    2 std::string str(cStr);
    3 qDebug()<<str.c_str()<<endl;
  • 相关阅读:
    HDU 2236 无题Ⅱ
    Golden Tiger Claw(二分图)
    HDU 5969 最大的位或 (思维,贪心)
    HDU 3686 Traffic Real Time Query System (图论)
    SCOI 2016 萌萌哒
    Spring Boot支持控制台Banner定制
    构建第一个Spring Boot程序
    Spring Boot重要模块
    Java fastjson JSON和String互相转换
    BCompare 4 Windows激活方法【试用期30天重置】
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13690311.html
Copyright © 2011-2022 走看看