QT简单入门实例2【QString使用,与string, char*, int, float互相转化】

QString是QT基于std::string类型自定义的一种新类型,用来实现更方便的字符串操作。

以下对QString的常用功能进行展示,并提供与其他类型的转化方法(string, char*, int, float )

main.cpp

#include <QString>
#include <QDebug>
using namespace std;
#include <iostream>

//QT简单入门实例2【QString使用】
int main()
{
/*****************************QString 使用*******************************/
    //初始化字符串
    QString str("A,B");
    qDebug()<<str;
    //追加元素
    str.append(",D");
    qDebug()<<str;
    //插入元素
    str.insert(3,",C");
    qDebug()<<str;
    //删除元素
    qDebug()<<str.remove(str.size()-2,2);
    //查询元素索引值
    qDebug()<<str.indexOf("C");
    //替换元素
    str.replace(0,1,"a");
    str.replace(2,1,"b");
    str.replace(4,1,"c");
    qDebug()<<str;
    //获取长度
    qDebug()<<str.size();
    //使用索引值遍历(推荐,因为比较方便)
    for( int i = 0; i < str.size(); i++ ){
        QString s=str.at(i);
        qDebug()<<s;
    }
    //使用迭代器遍历
//    for( QString::iterator itstr = str.begin(); itstr != str.end(); itstr++ ){
//        QString s=*itstr;
//        qDebug()<<s;
//    }
    //取出一部分值
    qDebug()<<str.mid(1,3);
    //拆分(根据分隔符",")
    QStringList strlist = str.split(",");
    foreach (QString s, strlist) {
       qDebug()<<s;
    }
    qDebug()<<"\n\n\n";

/*****************************与其他类型相互转化*******************************/
    // QString -> QByteArray
    QString teststr1="hello";
    QByteArray ba = teststr1.toLocal8Bit();
    qDebug()<<ba;
    // QByteArray -> QString
    QString bt_str=QString(ba);
    qDebug()<<bt_str;

    // QString -> string
    QString teststr2="china";
    string s_str = teststr2.toStdString();
    cout<<s_str<<endl;
    //string -> QString
    QString str_fs=QString::fromStdString(s_str);
    qDebug()<<str_fs;

    // QString -> char*
    QString teststr3="nanjing";
    char* ch1  =(char*) teststr3.toStdString().c_str();
    qDebug()<<ch1;
    QString str_fc=QString(ch1);
    qDebug()<<str_fc;

    // QString -> int
    QString teststr4="108";
    int v_i = teststr4.toInt();
    qDebug()<<v_i;
    // int -> QString
    QString i_str = QString::number(v_i);
    qDebug()<<i_str;

    // QString -> float
    QString teststr5="9.16";
    float v_f = teststr5.toFloat();
    qDebug()<<v_f;
    // float -> QString
    QString f_str = QString::number(v_f);
    qDebug()<<f_str;

    return 0;
}

输出:

在这里插入图片描述

发布了18 篇原创文章 · 获赞 5 · 访问量 6675

猜你喜欢

转载自blog.csdn.net/Sun_tian/article/details/104345300