zoukankan      html  css  js  c++  java
  • (转载)QString和string类型相互转换

    转载)http://blog.csdn.net/yang_hui1986527/article/details/5273805

    在使用QT和C++进行开发的时候,由于两者的数据类型不完全相同,需要进行转换。下面介绍QString和string类型相互转换的方法。(QT4.6上已测试可用。)

    1、在头文件中添加inlucde信息和转换函数声明:

        #include <QString>
        #include <vector>
        #include <iostream>
        #include <string>
        using namespace std;
        QString s2q(const string &s);
        string q2s(const QString &s);

    2、在主体CPP文件中添加以下转换函数即可:

        QString s2q(const string &s)
        {
          return QString(QString::fromLocal8Bit(s.c_str()));
        }
        string q2s(const QString &s)
        {
          return string((const char *)s.toLocal8Bit());
        }


    #include <QtGui>
    #include "mainwindow.h"
    #include <iostream>
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        QApplication a(argc, argv);
    
        QString name("Qt test!");
        string info = name.toAscii().data();  // 将QString转化成了string类型
        qDebug() << info.c_str();
    
        info = "IT is good!";
        name = info.c_str();  // 将string类型转化成了QString类型
        qDebug() << name;
    
        MainWindow w;
        w.show();
    
        return a.exec();
    }
  • 相关阅读:
    C/C++分别读取文件的一行
    (转载)C库函数strtok()
    (转载)C++常量折叠和C语言中const常量对比
    ssh
    ubuntu ufw
    uplevel
    ubuntu lucid source.list
    tail
    socket client with proc
    pack forget
  • 原文地址:https://www.cnblogs.com/Robotke1/p/3076263.html
Copyright © 2011-2022 走看看