Vérification de l'existence d'un dossier (et création de dossiers) dans Qt, C++

Dans Qt, Comment vérifier si un dossier donné existe dans le répertoire courant?
S'il n'existe pas, comment puis-je créer un dossier vide?

132
demandé sur Donald Duck 2010-02-11 05:19:10

5 réponses

Pour vérifier si un répertoire nommé "Dossier" existe utiliser:

QDir("Folder").exists();

Pour créer un nouveau dossier nommé "Mondossier" utiliser:

QDir().mkdir("MyFolder");
194
répondu Kyle Lutz 2010-02-11 02:22:30

Pour vérifier si elle existe et créer si elle ne le fait pas, y compris les intermédiaires:

QDir dir("path/to/dir");
if (!dir.exists()) {
    dir.mkpath(".");
}
117
répondu Petrucio 2012-07-17 07:30:37

Lorsque vous utilisez QDir.mkpath () il retourne true si le chemin existe déjà, dans L'Autre Main QDir.mkdir () renvoie false si le chemin existe déjà. Donc, en fonction de votre programme, vous devez choisir celui qui convient le mieux.

Vous pouvez en voir plus sur Qt Documentation

10
répondu Vitor Santos 2012-08-24 11:56:48

Si vous avez besoin d'un dossier vide, vous pouvez faire une boucle jusqu'à ce que vous obtenez un dossier vide

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

Ce cas, vous obtiendrez un nom de dossier avec un numéro .

0
répondu Midhun 2017-07-10 02:52:15

Pourquoi utiliser autre chose?

  mkdir(...);
-6
répondu matiasf 2010-02-11 02:22:30