Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1240 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  boost filesystem & fichiers en lecture seule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

boost filesystem & fichiers en lecture seule

n°1755394
Amonchakai
Posté le 04-07-2008 à 07:27:30  profilanswer
 

Bonjour,
 
   Dans un de mes programme, j'utilise unrardll pour extraire les fichiers rar. Or il s'avère que je me suis rendu compte que si dans une archive je dispose d'un fichier en lecture seule, lors de son extraction il restera en lecture seule. Le problème c'est que j'extrais ces fichiers dans un répertoire temporaire et que je souhaiterai les supprimer à la fin de l'exécution de mon application (ou à l'ouverture d'une nouvelle archive).  
   Pour la suppression des fichiers j'utilise boost::filesystem::remove(). Le problème c'est qu'il ne veut pas supprimer des fichiers en lecture seule (il me lance une exception...). Dans mes recherches j'ai trouvé un vieux thread de 2003 qui parlait de l'existence des fonctions :

Code :
  1. bool is_writeable( const path & );
  2. void set_writeable( const path &, bool value = true );


Mais elles ne semblent pas exister dans ma version actuelle de boost.
 
Je me demandais donc si vous aviez une idée de comment je pourrai régler mon problème. (sachant que je ne veux surtout pas faire d'appel au système pour faire un "rm -f " ou "del "... )
 
Merci :)

mood
Publicité
Posté le 04-07-2008 à 07:27:30  profilanswer
 

n°1755817
Amonchakai
Posté le 05-07-2008 à 09:13:58  profilanswer
 

Bon, n'ayant pas trouvé de meilleure solution j'ai finalement dus m'orienter vers ce que je ne voulais pas : passer par des commandes systèmes.
Par contre j'ai toujours un petit soucis : en effet mon application est une application graphique (utilisant QT) et quand je lance une commande système il m'ouvre un terminal dos (qu'il ferme juste après...).
Mais je me demandais si il n'était pas possible d'empêcher l'ouverture de ce terminal ? J'ai essayé de rediriger la sortie de la commande vers NUL. Mais en toute logique c'est que la sortie de la commande qui est masquée, et donc le terminal s'ouvre et se ferme toujours...
 
Si vous avez une idée ? :)

n°1755906
IrmatDen
Posté le 05-07-2008 à 16:08:35  profilanswer
 

Si tu utilises déjà Qt, tu ne peux pas utiliser QFileInfo sur cette partie là?

n°1755930
Amonchakai
Posté le 05-07-2008 à 18:15:19  profilanswer
 

Ok, je vais regarder de ce côté là.  
C'est vrai que j'ai utilisé boost::filesystem plutôt par réflexe : je l'ai déjà utilisé dans pas mal d'occasion et donc ça m'était même pas venu à l'esprit de chercher ailleurs :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  boost filesystem & fichiers en lecture seule

 

Sujets relatifs
Télécharger en une fois plusieurs fichiers...[Résolu] Comparaison Groupe de Fichiers
VB6 et Crystal Reports : export de fichiers vides[SQL] une seule requête au lieu de deux...
affichage d'image et ouverture de fichiers sous FirefoxRéduire une seule colonne d'un tableau
[hibernate][RESOLU]insertion, update OK, lecture avec requete HQL KObasic : fichiers .rms indexés et séquencés sur k7 dds
Macro excel dans 1 nouveau fichier pour plusieurs fichiersPremier programme C (manip. de fichiers txt)
Plus de sujets relatifs à : boost filesystem & fichiers en lecture seule


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR