• 4452阅读
  • 1回复

[提问]QDir貌似entryInfoList [复制链接]

上一主题 下一主题
离线小林由
 
只看楼主 正序阅读 楼主  发表于: 2012-06-16
    
    QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    QTextStream co(stdout, QIODevice::WriteOnly);
    
    QDir dir("c:/a/");
    QStringList filters;
    filters << "*.xls";
    dir.setNameFilters(filters);
    QFileInfoList list = dir.entryInfoList(QDir::AllEntries, QDir::NoSort);
    QStringRef search = new QString("ZEJU0110");
    for (int i = 0; i < list.size(); i++) {
        QString name = list.takeAt(i).fileName();        
        co << name << endl;        
    }

我认为以上代码应该能一次打印·c:\a\下的所有·excel文件名。
为什么有的excel文件名没有被打印出来。
我把能找到并打印出来的文件删掉,就留没有被打印出来的文件在·c:\a\,
就打印出来第一次没有被打印出来的文件名了。
这是为什么啊
离线mrfirmer
只看该作者 1楼 发表于: 2012-06-17


QList::takeAt ( int i )



Removes the item at index position i and returns it.

快速回复
限100 字节
 
上一个 下一个