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 是在两个字符串之间插入另一个字符串