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();
    }
  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/Robotke1/p/3076263.html
Copyright © 2011-2022 走看看