第二章 应用程序类型

该文展示了Qt框架下的字符串处理,包括QStrings的拼接,使用QList存储和迭代字符串,以及通过QString的split()和join()函数操作字符串链表。同时,文章还演示了如何读取文件内容,特别是从CSV文件中提取数据行。
摘要由CSDN通过智能技术生成

2.3.1 控制台应用程序

字符串处理

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

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString s1("Paris");
    QString s2("London");
    QString s = s1 + " " + s2 + "!";
    qDebug() << s;
    return a.exec();
}

容器类:增加一个链表和一个链表迭代器

#include <QCoreApplication>
#include<iostream>
using namespace std;
#include<QDebug>
#include<QList>
#include<QListIterator>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString s1("Paris");
    QString s2("London");

    QList<QString> list;
    list << s1 << s2;

    QListIterator<QString> iter(list);

    while(iter.hasNext()){
        qDebug() << iter.next();
        if(iter.hasNext()){
            cout << " ";
        }
    }
    cout << "!" << endl;
    return a.exec();
}

展示一些高级的链表函数,允许一个字符串加入一个链表的字符串,使用QString::split()函数可以将这个操作逆向。(将字符串转换为字符串链表)

#include <QCoreApplication>
#include<iostream>
using namespace std;
#include<QDebug>
#include<QList>
#include<QListIterator>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString s1("Paris");
    QString s2("London");

    QStringList list;
    list << s1 << s2;
    QString s = list.join(" ") + "!";
    qDebug() << s ;
    return a.exec();
}

//join  是在两个字符串之间插入另一个字符串

文件IO

读取20行的编码,文件读取

#include <QCoreApplication>
#include<iostream>
using namespace std;
#include<QDebug>
#include<QList>
#include<QListIterator>
#include<QFile>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QList<QStringList> data;
    QFile file("sample.csv");
    if(file.open(QIODevice::ReadOnly)){
        QTextStream stream(&file);
        forever{
            QString line = stream.readLine();
            if(line.isEmpty()){
                continue;
            }
            if(line.isNull()){
                break;
            }
            QStringList row;
            foreach(const QString& cell,line.split(",")){
                row.append(cell.trimmed());
            }
            data.append(row);
        }
    }
    return a.exec();
}

//join  是在两个字符串之间插入另一个字符串

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_41392061

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值