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.
---------------
--