it-swarm.com.de

Überprüfen, ob in Qt, C++ ein Ordner vorhanden ist (und Ordner erstellt)

Wie überprüfe ich in Qt, ob ein bestimmter Ordner im aktuellen Verzeichnis vorhanden ist?
Wenn es nicht existiert, wie erstelle ich dann einen leeren Ordner?

139
Switch

Um zu prüfen, ob ein Verzeichnis mit dem Namen "Folder" existiert, verwenden Sie:

QDir("Folder").exists();

Um einen neuen Ordner mit dem Namen "MyFolder" zu erstellen, verwenden Sie:

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

Um beide zu überprüfen, ob es existiert, und erstellen Sie, falls nicht, einschließlich der Intermediäre:

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

Wenn Sie QDir.mkpath () verwenden, wird true zurückgegeben, wenn der Pfad bereits vorhanden ist. Andererseits gibt QDir.mkdir () false zurück, wenn der Pfad bereits existiert. Abhängig von Ihrem Programm müssen Sie also wählen, welches besser passt.

Sie können mehr auf Qt-Dokumentation sehen

11
Vitor Santos

Wenn Sie einen leeren Ordner benötigen, können Sie eine Schleife machen, bis Sie einen leeren Ordner erhalten 

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

In diesem Fall erhalten Sie einen Ordnernamen mit einer Nummer.

0
Midhun