Bonjour à tous !
Je souhaite tester la possibilité d'écrire dans un répertoire avec Qt.
Pour connaître les droits en écriture sur un fichier existant c'est facile :
Mais si le fichier n'existe pas, ça ne fonctionne pas, il faut tester les droits en écriture dans le répertoire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part QFileInfo("PathFile").isWritable()
Or pour un répertoire je n'ai rien trouvé d'aussi simple.
Voici ce que j'ai trouvé et qui fonctionne :
C'est bien lourd...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 QDir d(s); // 's' est le path vers un fichier du répertoire à tester, disons '/home/sylvain/Documents/toto.txt' d.cdUp(); // 'd' pointe maintenant sur '/home/sylvain/Documents/' QStringList dirName; dirName << d.dirName(); // 'Documents' est placé dans 'dirName' d.cdUp(); // 'd' pointe maintenant sur '/home/sylvain/' QFileInfoList l = d.entryInfoList(dirName); // 'l.at(0)' contient un QFileInfo sur '/home/sylvain/Documents/' if (!l.at(0).isWritable()){ // Enfin, test des droits en écriture sur '/home/sylvain/Documents/' erreur_ecriture = tr("Ce répertoire est protégé en écriture"); return false; }
Il y a un autre moyen ?
Partager