Qt获取文件夹下的文件个数

先看代码:

    QDir *dir=new QDir("D:\");  
    QStringList filter;
    //filter<<"*.dat";
    //dir->setNameFilters(filter); //过滤文件类型
    QList *fileInfo=new QList(dir->entryInfoList(filter));
    int count=fileInfo->count();  //文件个数
    cout<at(2).filePath().toStdString()<at(2).fileName().toStdString()<

说明:1、注释掉的两行是用来文件过滤用的,如果要指定文件后缀名在 filter<<"*.dat"  写就好了

2、文件数目:fileInfo->count();

    这里计算出来的个数比文件夹下实际的个数要多2个,经过输出发现在最前面有.和..,即使文件中没有,这里也会默认有的。

3、文件路径(包含文件名):fileInfo->at(i).filePath();

4、文件名称:fileInfo->at(i).fileName();

 

 

 

有个问题是我在调试的时候发现QDir *dir=new QDir("D:\");  里的路径可以是相对路径,也可是绝对路径,但是绝对路径时不能是C盘的文件夹,这里不知道为啥?没细究,有知道的可以留言。。。

你可能感兴趣的:(C++,QT)