web-dev-qa-db-ja.com

Qt、C ++にフォルダーが存在するかどうかを確認(およびフォルダーを作成)

Qtでは、現在のディレクトリに特定のフォルダーが存在するかどうかを確認するにはどうすればよいですか?
存在しない場合、空のフォルダを作成するにはどうすればよいですか?

141
Switch

「Folder」という名前のディレクトリが存在するかどうかを確認するには、次を使用します。

QDir("Folder").exists();

「MyFolder」という名前の新しいフォルダーを作成するには、次を使用します。

QDir().mkdir("MyFolder");
211
Kyle Lutz

存在するかどうかを確認し、存在しない場合は作成します(仲介者を含む):

QDir dir("path/to/dir");
if (!dir.exists())
    dir.mkpath(".");
135
Petrucio

QDir.mkpath()を使用すると、パスが既に存在する場合はtrueを返しますが、パスが既に存在する場合はQDir.mkdir()はfalseを返します。したがって、プログラムに応じて、どちらが適切かを選択する必要があります。

Qt Documentation で詳細を見ることができます

11
Vitor Santos

空のフォルダーが必要な場合は、空のフォルダーを取得するまでループできます

    QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
    while(QDir(folder).exists())
    {
         folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
    }
    QDir().mkdir(folder);

この場合、番号付きのフォルダー名が取得されます。

0
Midhun