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?Vérification de l'existence d'un dossier (et création de dossiers) dans Qt, C++
Répondre
Pour vérifier si un répertoire nommé « Dossier » existe utilisation:
QDir("Folder").exists();
Pour créer un nouveau dossier nommé utilisation « MonDossier »:
QDir().mkdir("MyFolder");
Pourquoi utiliser quoi que ce soit d'autre?
mkdir(...);
portabilité (partie du point entier de Qt) –
Pour vérifier si les deux il existe et créer si elle n'a pas, y compris les intermédiaires:
QDir dir("path/to/dir");
if (!dir.exists()) {
dir.mkpath(".");
}
Lorsque vous utilisez QDir.mkpath() retourne vrai si le chemin existe déjà, dans la d'autre part 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 voir plus sur Qt Documentation
Si vous avez besoin d'un dossier vide, vous pouvez 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.
- 1. Dossiers de création et de ressources Xcode
- 2. C# dossiers et sous-dossiers
- 3. Création de dossiers temporaires
- 4. Création de dossiers cachés
- 5. C# Création d'une classe de vérification d'erreur?
- 6. Création/ouverture d'événements en C++ et vérification de leur déclenchement
- 7. Création d'un dossier et copie de fichier
- 8. Qt - création de QPainter
- 9. Création d'une application de dossier pour l'iphone
- 10. Recherche d'un dossier dans les dossiers Outlook
- 11. liste des fichiers et dossiers de svn repository dans C#
- 12. Création récursive de dossiers dans des répertoires spécifiques
- 13. Rails: Création de sous-dossiers dans le modèle?
- 14. Moniteur de fichiers/dossiers C#
- 15. Expérience de création et d'utilisation de Qt Embedded
- 16. la création de dossiers dans IMAP ne fonctionne pas
- 17. Vérification de tous les signaux Qt/connexion
- 18. Visual Studio: création de dossiers avec le nom spécifié
- 19. Supprimez les fichiers indésirables et les dossiers de dossier de destination par rapport au dossier source
- 20. création zip/rar/tar de dossiers dans Joomla
- 21. Création d'une structure de dossiers avec x nombre de fichiers par dossier
- 22. Création récursive de raccourcis dans un dossier (XP)
- 23. Comment obtenir le temps de création (même milliseconde) pour fichier - dossier dans Windows C#
- 24. Création d'une structure de fichiers/dossiers et zippage?
- 25. Création d'un fichier MSI/Setup avec VS2008 - Création de sous-dossiers pour les journaux et les fichiers temporaires
- 26. SSH/Shell - Supprimer tous les dossiers portant le nom "____" dans le dossier ET les sous-dossiers
- 27. Création d'un dossier dans CRM4 Plugin
- 28. création de dossier dans Windows dir
- 29. URL Réécriture de plusieurs dossiers dans un dossier
- 30. Comment obtenir le dossier de téléchargement de l'utilisateur dans Qt?
Comment cette réponse se compare-t-elle à la réponse de @ Petrucio? Je ne peux pas déduire cela des docs. –
Pourquoi ce n'est pas statique? 'QDir :: exists (" absolutepath ")' et 'QDir :: mkdir (" "absolutepath") ' – yalov
@yalov - car il entrerait en collision avec un' QDir :: mkdir non statique ("chemin relatif") '. –