QT4中QStringList的迭代

来源:互联网 发布:剑三苍云成男脸型数据 编辑:程序博客网 时间:2024/04/25 18:48

QT4中QStringList的迭代遍历
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)
原创粉丝点击