IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Droits d'écriture d'un fichier


Sujet :

Qt

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 222
    Points : 766
    Points
    766
    Par défaut Droits d'écriture d'un fichier
    Bonjour,

    Savez-vous comment créer un fichier avec Qt sous windows 7 de façon à ce que ce fichier ait les droits de modification/écriture pour tous les utilisateurs.

    En utilisant simplement QFile::open(...) le fichier créé appartient à l'utilisateur qui a lancé l'application et le fichier a uniquement les droit de lecture et d'exécution pour les autres utilisateurs.

    Typiquement il s'agit d'un fichier qui se trouve dans C:\ProgramData de façon à être accessible à tout le monde.


    Merci

  2. #2
    Membre confirmé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Points : 496
    Points
    496
    Par défaut
    Je ne pense pas que tu puisses le faire directement à l'aide de Qt. QFileInfo permet de connaitre les droits sur un fichier, mais pas de les changer. C'est une fonctionnalité qui est dépendante du système.
    Peut-être que la solution pour toi serait d'écrire dans un dossier où tous les utilisateurs ont accès ("C:\Users\Public\Documents")
    Tu peux aussi créer ton propre dossier et lui attribuer des droits pour tous les utilisateurs avant de commencer à y écrire.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2009
    Messages
    1 009
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2009
    Messages : 1 009
    Points : 1 738
    Points
    1 738
    Par défaut
    Il suffit de jeter un œil à la documentation de QFile, pour y trouver un setPermissions()

    Citation Envoyé par saad.hessane
    C'est une fonctionnalité qui est dépendante du système.
    Beaucoup de fonctionnalités sont dépendantes du système, mais le but de Qt est justement de fournir une surcouche commune pour qu'on ait un code source multi-plateforme. Qt a bien des implémentations différentes pour chaque système.

  4. #4
    Membre confirmé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Points : 496
    Points
    496
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    Il suffit de jeter un œil à la documentation de QFile, pour y trouver un setPermissions()


    Beaucoup de fonctionnalités sont dépendantes du système, mais le but de Qt est justement de fournir une surcouche commune pour qu'on ait un code source multi-plateforme. Qt a bien des implémentations différentes pour chaque système.
    Autant pour moi, je me disais que ça ne pouvait être que dans QFileInfo où je n'ai trouvé qu'une méthode permissions() sans setter. Merci !

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 222
    Points : 766
    Points
    766
    Par défaut
    Citation Envoyé par Troudhyl Voir le message
    Il suffit de jeter un œil à la documentation de QFile, pour y trouver un setPermissions()
    C'est la première chose que j'ai tentée, en mettant l'intégralité des droits, ça ne fonctionne pas, sous windows 7 en tout cas. Ça ne change même pas les droits de l'utilisateur courant.

    Citation Envoyé par saad.hessane Voir le message
    Peut-être que la solution pour toi serait d'écrire dans un dossier où tous les utilisateurs ont accès ("C:\Users\Public\Documents")
    Tu peux aussi créer ton propre dossier et lui attribuer des droits pour tous les utilisateurs avant de commencer à y écrire.
    C'est comme ça que j'ai fini par faire, le setup le l'application crée le répertoire avec toutes les autorisations pour l'utilisateur "Tout le monde". Je n'utilise pas le répertoire "Public" car il n'existe pas sous windows XP, j'utilise un sous-répertoire de commonAppData (Qt nous permet de récupérer facilement son emplacement selon le système)

    Apparemment sous windows les répertoires et les fichiers héritent des droits des répertoires parents donc ça a résolu mon problème.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Droit d'écriture d'un fichier
    Par thaundeadboss dans le forum Websphere
    Réponses: 1
    Dernier message: 28/01/2012, 23h56
  2. Réponses: 0
    Dernier message: 27/04/2010, 15h52
  3. Droits d'écriture pour un fichier
    Par ganguill dans le forum Langage
    Réponses: 7
    Dernier message: 26/04/2010, 16h18
  4. Droit en écriture sur des fichiers
    Par HULK dans le forum VB.NET
    Réponses: 2
    Dernier message: 26/10/2007, 11h09
  5. [Tomcat] droits d'écriture fichier dans une servlet
    Par Laurent.B dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 30/05/2006, 20h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo