zoukankan      html  css  js  c++  java
  • QString与const char *相互转换

    int main(int argc, char **argv)
    {
     QApplication app(argc, argv);
     QString str1 = "Test";
     QByteArray ba = str1.toLatin1();
     const char *str2 = ba.data();
     printf("str2: %s", str2);
     return app.exec();   
    }
    Note that it is necessary to store the bytearray before you call data() on it, a call like the following
    const char *c_str2 = str2.toLatin1().data();//wrong
    will make the application crash as the QByteArray has not been stored and hence no longer exists.
     

    To convert a char* to a QString you can use the QString constructor that takes a QLatin1String, e.g:
    QString string = QString(QLatin1String(c_str2));
     
     
    我觉得应该是这个样子吧:
    char *str2 = "Test";
    QString str1(QLatin1String(str2));
  • 相关阅读:
    2020年12月18日
    2020年12月17日
    2020年12月16日
    2020年12月15日
    2020年12月14日
    排序算法总结
    2020微软笔试题
    子串、子序列问题
    剑指offer题解(完结)
    ONOS 2.2安装
  • 原文地址:https://www.cnblogs.com/Stephen-Qin/p/13564567.html
Copyright © 2011-2022 走看看