当前位置: 代码迷 >> QT开发 >> 为QString赋值时双引号被包含进去了!求解!该怎么解决
  详细解决方案

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

热度:1190   发布时间:2016-04-25 05:14:22.0
为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这样输出字符串变量的时候是加上引号的,应该是为了区分这两种情况吧
  相关解决方案