Compter le nombre de fichier d'un répertoire en C (ss Linux)

Compter le nombre de fichier d'un répertoire en C (ss Linux) - C++ - Programmation

Marsh Posté le 30-07-2002 à 10:10:42    

La question est dans le sujet... Y'a t-il des fcts prédéfinis (je regardais du coté de stat.h et dirent.h ??...) pour le faire. J'aimerai en plus ne compter que le nombre de fichier .txt par exemple, facile à faire ? (tt ceci est sous Linux)
Merci !


Message édité par Poulou le 30-07-2002 à 10:43:38
Reply

Marsh Posté le 30-07-2002 à 10:10:42   

Reply

Marsh Posté le 30-07-2002 à 10:32:47    

J'avais deja posé la question il y a quelques temps ;) !
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=

Reply

Marsh Posté le 30-07-2002 à 10:36:40    

bartleby a écrit a écrit :

J'avais deja posé la question il y a quelques temps ;) !
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=




 
ce qu'on t'y a donné, c des fonctions de windows...

Reply

Marsh Posté le 30-07-2002 à 10:37:11    

Poulou a écrit a écrit :

La question est dans le sujet... Y'a t-il des fcts prédéfinis (je regardais du coté de stat.h et dirent.h ??...) pour le faire. J'aimerai en plus ne compter que le nombre de fichier .txt par exemple, facile à faire ? (tt ceci est sous Linux)
Merci !




 
a mon avis, c des fonction dépendantes de l'OS, tu trouveras surement pas ça en C ANSI...

Reply

Marsh Posté le 30-07-2002 à 10:40:41    

el_gringo a écrit a écrit :

 
 
a mon avis, c des fonction dépendantes de l'OS, tu trouveras surement pas ça en C ANSI...




 
JE suis assez daccord avec ça.


---------------
Le Tyran
Reply

Marsh Posté le 30-07-2002 à 10:43:25    

OK merci pour les réponses
Si qquelqu'un sait le faire sous Linux, je prends volontier ! Sinon je vais chercher ça dans les man !

Reply

Marsh Posté le 30-07-2002 à 10:44:36    

Citation :

tt ceci est sous Linux


 
A merde, faudra que j'apprenne a lire les questions en entier !! :( !

Reply

Marsh Posté le 30-07-2002 à 10:51:33    

Poulou a écrit a écrit :

OK merci pour les réponses
Si qquelqu'un sait le faire sous Linux, je prends volontier ! Sinon je vais chercher ça dans les man !




ben tu peux bidouiller un truc du genre system("ls *.txt >pipo.pipo" ), ouvrir pipo.pipo, compter les lignes et le détruire.  
c'est bidouille mais c'est ANSI

Reply

Marsh Posté le 30-07-2002 à 10:52:50    

Oups


Message édité par bartleby le 30-07-2002 à 10:53:20
Reply

Marsh Posté le 30-07-2002 à 10:54:25    

yop merci je vais regarder ça (scandir de libc)

Reply

Marsh Posté le 30-07-2002 à 10:54:25   

Reply

Marsh Posté le 30-07-2002 à 11:01:55    

prettysmile a écrit a écrit :

 
ben tu peux bidouiller un truc du genre system("ls *.txt >pipo.pipo" ), ouvrir pipo.pipo, compter les lignes et le détruire.  
c'est bidouille mais c'est ANSI




 
Si tu dis que c de l'ANSI, c que ça doit être vrai.
Après, l'intérêt de l'ANSI, c d'être compilable sur toutes les plateformes... c pas vraiment le cas de ton truc.

Reply

Marsh Posté le 30-07-2002 à 11:03:17    

el_gringo a écrit a écrit :

 
 
Si tu dis que c de l'ANSI, c que ça doit être vrai.
Après, l'intérêt de l'ANSI, c d'être compilable sur toutes les plateformes... c pas vraiment le cas de ton truc.



ça l'est dans le sens ou cela n'utilise que des fonctions de la biblio c ANSI, c ce que je voulais dire

Reply

Marsh Posté le 30-07-2002 à 11:11:40    

Ya une bibliothéque de gestion des répertoire sous les système unix (par contre me souvient jamais de son nom)


---------------
Le Tyran
Reply

Marsh Posté le 30-07-2002 à 11:18:11    

letoII a écrit a écrit :

Ya une bibliothéque de gestion des répertoire sous les système unix (par contre me souvient jamais de son nom)



dans ce cas [:google]
http://www.developpez.com/kylix/systeme/list_dir.htm

Reply

Marsh Posté le 30-07-2002 à 11:21:08    

Euh c'est du kilyx !! Il veut du C !

Reply

Marsh Posté le 30-07-2002 à 12:07:30    

dirent.h
documenté ici :
 
http://www.phim.unibe.ch/comp_doc/ [...] htm#dirent
 
(environ 30 secondes de recherche sur google !)


Message édité par El_gringo le 30-07-2002 à 12:07:50
Reply

Marsh Posté le 30-07-2002 à 12:42:40    

Poulou a écrit a écrit :

La question est dans le sujet... Y'a t-il des fcts prédéfinis (je regardais du coté de stat.h et dirent.h ??...) pour le faire. J'aimerai en plus ne compter que le nombre de fichier .txt par exemple, facile à faire ? (tt ceci est sous Linux)
Merci !




 
Je t'invite à consulter la documentation de la GNU Libc, en particulier http://www.gnu.org/manual/glibc-2. [...] tml#SEC268
 
Tu y trouveras tout ce qu'il te faut. Il est probable que opendir(), readdir(), et closedir() te suffisent largement. Tu trouveras même des exemples. Il n'existe malheureusement pas de moyen standardisé (en tous cas dans POSIX), à ma connaissance, d'obtenir directement le nombre de fichiers d'un répertoire. Dans certaines implémentations des normes POSIX, telles que GUSI POSIX, le champ st_size de fstat() le renvoit, mais ça n'est pas le cas sous la plupart des Un*x. Celà est d'ailleurs un comportement assez normal, dans la mesure où sur certains systèmes, on ne peut pas updater les informations de stat retenues par le système à chaque changement dans ce qui serait affiché par un readdir dans le répertoire. (pensez à un ftpfs ou un autre système de fichier distribué de ce type)
 
 Si tu veux de plus ne lister que certains fichiers, utilise scandir(), et passe lui une fonction de selection (3ème argument) qui renverra 1 (par exemple) pour seulement les fichiers .txt, par exemple.


---------------
--  
Reply

Marsh Posté le 30-07-2002 à 13:35:44    

Merci pour toutes ces précisions, ça devrait être bon avec "dirent.h"

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed