- C/C++ code
#include<QStringList> #include<QDebug> #include<cassert> int main() { /*以下四行中的双引号都被包括进QString中*/ QString winter="December, Jaunary, Febrauary"; QString spring=" March, April, May"; QString summer="June, July, August "; QString fall = "September, October, November"; QStringList list; list<<winter; list+=spring; list.append(summer); list<<fall; qDebug()<<"The Spring months are "<<list[1]; QString allmonths=list.join(", "); qDebug()<<"All of months are "<<allmonths; QStringList list2=allmonths.split(", "); assert(list2.size()==12); foreach(QString str, list) { qDebug()<<QString("[%1]").arg(str); //"[%1]"的双引号被包含到QString中了 } for(QStringList::Iterator it=list.begin();it!=list.end();++it) { QString current=*it; qDebug()<<"[["<<current<<"]]"; //见输出结果 } QListIterator<QString> itr (list2); while(itr.hasNext()) { QString current=itr.next(); qDebug()<<"{"<<current<<"}"; //见输出 } return 0; }
- C/C++ code
//输出 The Spring months are " March, April, May" All of months are "December, Jaunary, Febrauary, March, April, May, June, July, August , September, October, November" "[December, Jaunary, Febrauary]" "[ March, April, May]" "[June, July, August ]" "[September, October, November]" [[ "December, Jaunary, Febrauary" ]] [[ " March, April, May" ]] [[ "June, July, August " ]] [[ "September, October, November" ]] { "December" } { "Jaunary" } { "Febrauary" } { " March" } { "April" } { " May" } { "June" } { "July" } { "August " } { "September" } { "October" } { "November" }
------解决方案--------------------
引号没有被加进QString,引号是你用qDebug打印的时候由qDebug添加的
------解决方案--------------------
怎么说呢,qDebug打印的时候,<<""这么写就是输出引号内的内容,也就是字符串,<<str这样输出字符串变量的时候是加上引号的,应该是为了区分这两种情况吧