首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

为QString赋值时双引号被包含进去了!求解!该怎么解决

2012-02-08 
为QString赋值时双引号被包含进去了!求解!C/C++ code#includeQStringList#includeQDebug#includecass

为QString赋值时双引号被包含进去了!求解!

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这样输出字符串变量的时候是加上引号的,应该是为了区分这两种情况吧

热点排行