6

ディレクトリが空かどうかを確認しようとしています。

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QDir Dir("/home/highlander/Desktop/dir");
    if(Dir.count() == 0)
    {
        QMessageBox::information(this,"Directory is empty","Empty!!!");
    }
}

.と を除いて、それを確認する正しい方法は..何ですか?

4

5 に答える 5

24

まあ、私はそれを行う方法を得ました:)

if(QDir("/home/highlander/Desktop/dir").entryInfoList(QDir::NoDotAndDotDot|QDir::AllEntries).count() == 0)
{
    QMessageBox::information(this,"Directory is empty","Empty!!!");
}
于 2013-05-03T05:07:53.980 に答える
1

これは 1 つの方法です。

#include <QCoreApplication>
#include <QDir>
#include <QDebug>
#include <QDesktopServices>

int main(int argc, char *argv[])
{
    QCoreApplication app(argc,argv);

    QDir dir(QDesktopServices::storageLocation(QDesktopServices::DesktopLocation));

    QStringList list = dir.entryList();
    int count;
    for(int x=0;x<list.count(); x++)
    {
        if(list.at(x) != "." && list.at(x) != "..")
        {
            count++;
        }
    }

    qDebug() << "This directory has " << count << " files in it.";
    return 0;
}
于 2013-05-03T05:05:21.873 に答える
0

または、確認することもできます。

if(dir.count()<3){
    ... //empty dir
}
于 2013-05-03T05:20:33.173 に答える