这一段代码错在哪里,执行的时候会出问题
-
@QString srcimgfilename;
QString rawdatafilename;
QStringList filelist;
filelist = QFileDialog::getOpenFileNames(this,tr("选择文件"),".",tr("Text files (.txt);;XML files (.xml)"));
QStringList::const_iterator it = filelist.constBegin();
while(it != filelist.constEnd())
{
leftpointfilename = (*it).toLocal8Bit;
std::cout<<(*it).toLocal8Bit().constData()<<std::endl;
++it;
rightpointfilename = (*it).toLocal8Bit;
std::cout<<(*it).toLocal8Bit().constData()<<std::endl;
}@ -
@Text files (.txt);;XML files (.xml)@
-
当我想取出文件夹里面选择的部分文件时,程序会在while循环里面出不来
-
尝试不用iterator,而用更加方便的foreach伪关键字。
@
foreach( QString fileName, filelist )
{
std::cout << qPrintable( fileName ) << '\n';
}
@ -
(*it).toLocal8Bit;?????
toLocal8Bit不是接口吗?不是应该(*it).toLocal8Bit()吗? -
it ++ 放在 循环的最后面试试看行不行
-
永远不要写:(*it).toLocal8Bit().constData();这样的代码!
toLocal8Bit()是产生临时对象,constData返回一个临时对象的指针,结果呢。。。。