Langage C : récupérer un répértoire [Fermé]
Signaler
mackoncef
jipicy
- Messages postés
- 20
- Date d'inscription
- mercredi 22 juin 2005
- Statut
- Membre
- Dernière intervention
- 7 septembre 2006
jipicy
- Messages postés
- 40805
- Date d'inscription
- jeudi 28 août 2003
- Statut
- Modérateur
- Dernière intervention
- 10 août 2020
bonjour tout le monde,
Je suis entrain de développer une petite application en langage C. Et pour ceci j'ai besoin d'une fonction qui permette de récupérer la structure arborescente d'un répértoire, c.a.d une fonction du style :
arbre récupérerArbre(int fd);
où fd représente un descripteur de fichier pointant sur un répértoire.
normalement une telle fonction devrait exister dans les includes, en foillant un peu j'ai trouvé un certain dirent.h qui propose une structure dirent (je ne sait pas c'est quoi exactement) et des fonctions du genre scandir, readdir, getdirentries ... mais j'arrive pas a les exploiter.
Sinon la méthode que j'ai essayé c'est de faire dans mon programme un system("ls -R nomDuRepertoire > tmp"), ouvrir le fichier tmp qui contient des lignes du genre :
rep1/ :
rep2
file1
file 2
rep1/rep2/:
file3
file4
....
et de constituer mon arbre en traitant ligne par ligne mon fichier mais cette solution est moyennement satisfaisante car elle est un peu longue vu la taille en profondeur des répértoires que je souhaite analyser, et en plus le résultat est conditionné par la version du 'ls' installé sur unix. Une autre version donnera peut etre un fichier tmp dont la syntaxe peut changer, ce qui fait que mon application risque de ne pas fonctionner sur d'autres machines...
bref si quelqu'un sait si une telle fonction existe ou sait comment faire pour la programmer d'une manière plus efficace...
Je suis entrain de développer une petite application en langage C. Et pour ceci j'ai besoin d'une fonction qui permette de récupérer la structure arborescente d'un répértoire, c.a.d une fonction du style :
arbre récupérerArbre(int fd);
où fd représente un descripteur de fichier pointant sur un répértoire.
normalement une telle fonction devrait exister dans les includes, en foillant un peu j'ai trouvé un certain dirent.h qui propose une structure dirent (je ne sait pas c'est quoi exactement) et des fonctions du genre scandir, readdir, getdirentries ... mais j'arrive pas a les exploiter.
Sinon la méthode que j'ai essayé c'est de faire dans mon programme un system("ls -R nomDuRepertoire > tmp"), ouvrir le fichier tmp qui contient des lignes du genre :
rep1/ :
rep2
file1
file 2
rep1/rep2/:
file3
file4
....
et de constituer mon arbre en traitant ligne par ligne mon fichier mais cette solution est moyennement satisfaisante car elle est un peu longue vu la taille en profondeur des répértoires que je souhaite analyser, et en plus le résultat est conditionné par la version du 'ls' installé sur unix. Une autre version donnera peut etre un fichier tmp dont la syntaxe peut changer, ce qui fait que mon application risque de ne pas fonctionner sur d'autres machines...
bref si quelqu'un sait si une telle fonction existe ou sait comment faire pour la programmer d'une manière plus efficace...
A voir également:
- Langage C : récupérer un répértoire
- Récupérer mon répertoire orange ci - Forum - Outlook
- Recuperer mon repertoire mtn ci ✓ - Forum - Mobile
- Comment recuperer le repertoire d'un telephone portable samsung ✓ - Forum - Mobile
- Comment récupérer la liste des contacts sur Orange ✓ - Forum - Messagerie
- Récupérer Anciens contacts, calendrier etc... sauvegardés. - Forum - MacOS
3 réponses
blurk
- Messages postés
- 486
- Date d'inscription
- vendredi 16 avril 2004
- Statut
- Membre
- Dernière intervention
- 15 mars 2009
récupérer un répertoire c'est :
- copier tout son contenu sur un support amovible ?
- réparer son effacement accidentel ?
- identifier son chemin complet ?
- accéder à son contenu ?
cordialement
- copier tout son contenu sur un support amovible ?
- réparer son effacement accidentel ?
- identifier son chemin complet ?
- accéder à son contenu ?
cordialement
mackoncef
- Messages postés
- 20
- Date d'inscription
- mercredi 22 juin 2005
- Statut
- Membre
- Dernière intervention
- 7 septembre 2006
alors toujours pas de propositions?
jipicy
- Messages postés
- 40805
- Date d'inscription
- jeudi 28 août 2003
- Statut
- Modérateur
- Dernière intervention
- 10 août 2020
Salut,
Un début de soluce là peut être :
http://www.commentcamarche.net/forum/affich-1699952#1
;-)
Un début de soluce là peut être :
http://www.commentcamarche.net/forum/affich-1699952#1
;-)