TAG: Qt QStringList
#include <QStringList>
#include <QDebug>
#include <cassert>
/* Some simple examples using QStringList, split and join */
int main() {
QString winter = "December, January, February";
QString spring = "March, April, May";
QString summer = "June, July, August";
QString fall = "September, October, November";
QStringList list; // QStringList重载了许多函数和操作符
list << winter; /* append operator 1 */
list += spring; /* append operator 2 */
list.append(summer); /* append member function */
list << fall;
qDebug() << "The Spring months are: " << list[1] ;
QString allmonths = list.join(", "); //将“,”加到QStringList
/* from list to string - join with a ", " delimiter */
qDebug() << allmonths;
QStringList list2 = allmonths.split(", "); //按照“,”将QStringList分割成QString
/* split is the opposite of join. Each month will have its own element. */
assert(list2.size() == 12); /* assertions abort the program 此时list2有12个元素
if the condition is not satisfied. */
//下面是各种迭代风格
foreach (QString str, list) { /* Qt 4 foreach loop - similar
to Perl/Python and Java 1.5 style for loops. */
qDebug() << QString(" [%1] ").arg(str);
}
for (QStringList::iterator it = list.begin();
it != list.end(); ++it) { /* C++ STL-style iteration */
QString current = *it; /* pointer-style dereference */
qDebug() << "[[" << current << "]]";
}
QListIterator<QString> itr (list2); /* Java 1.2 style Iterator */
while (itr.hasNext()) { /* Java Iterators point
inbetween elements. */
QString current = itr.next();
qDebug() << "{" << current << "}";
}
return 0;
}
补充:QString test_list;
test_list<<"abc"<<"def"; //test_list为{"abc","def"}
test_list[1]="bcd";//test_list为{"abc","bcd"}
(dl-lzx)