반응형

테스트 환경


Windows10 / C++ / Qt 5.15.2 / Qt Creator 4.13.3

 

 

 

파일/폴더 개수 출력


폴더 내 파일 개수 출력

#include <QDirIterator>
#include <QDebug>

int fileNumber = 0;
QDirIterator it("D:/", QDir::Files); // 대상 폴더, 옵션(파일만 출력)
while (it.hasNext())
{
    if(it.next() > 0 )
    {
        fileNumber++;
    }
}
qDebug() << fileNumber;

 

폴더 내 폴더 개수 출력

위 코드에서 QDirIterator의 옵션인 QDir::Files QDir::AllDirs로 수정한다.

#include <QDirIterator>
#include <QDebug>

int fileNumber = 0;
QDirIterator it("D:/", QDir::Alldirs); // 대상 폴더, 옵션(폴더만 출력)
while (it.hasNext())
{
    if(it.next() > 0 )
    {
        fileNumber++;
    }
}
qDebug() << fileNumber;

 

폴더와 파일 개수를 출력하고 싶다면 QDir::FilesQDir::AllEntries로 수정한다.

 

하위 폴더 포함 개수 출력

위 코드에서 QDirIterator::Subdirectories 옵션을 추가한다.

int fileNumber = 0;
QDirIterator it("D:/", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext())
{
    if(it.next() > 0 )
    {
        fileNumber++;
    }
}
qDebug() << fileNumber;

 

 

참고


https://stackoverflow.com/questions/6890757/counting-file-in-a-directory