Programmation.c : Liste de fichiers avec des jokers sous Linux
Posté par xylo (page perso, ) le 10 septembre 2008
1
bonjour,
existe-t-il, sous Linux, une lib ou un algo qui permet de retrouver les fonctions présentes dans le header io.h de Metrowerks Standard Library
_findfirst(), _findnext(), _findclose() ...
ces fonctions permettent de construire une liste de fichiers suivant une expression régulière contenant des caractères joker ( ex: *.linux??.txt )
je tourne actuellement autour de fnmatch() et glob() ... mais j'aimerais trouvé le couteau suisse !
> Lire le message (3 commentaires, moyenne: 1,3).
Vous avez demandé le commentaire #963650.


Pas évident...
Bash implémente sa propre logique (oui, c'est le shell qui a pour mission d'implémenter l'expansion des chemins)
C'est dans pathexp.c si ça peut t'aider...
[ Répondre ]
[^]Merci c'est OK avec glob.h
/*
test de la fonction glob()
*/
#include <stdio.h>
#include <glob.h>
int main( int argc, char *argv[])
{
glob_t globbuf;
unsigned int i;
globbuf.gl_offs = 0;
glob("/etc/*.c??f", GLOB_ERR, NULL, &globbuf);
for( i=0 ; i<globbuf.gl_pathc ; i++) {
fprintf(stdout, "\n%.2d: %s", i, globbuf.gl_pathv[i]);
}
globfree(&globbuf);
return 0;
}
'Content de peu n'a rien à craindre'
http://jm.marino.free.fr
[ Répondre ]
[^]Merci c'est OK avec glob.h
/*
test de la fonction glob()
*/
#include <stdio.h>
#include <glob.h>
int main( int argc, char *argv[])
{
glob_t globbuf;
unsigned int i;
globbuf.gl_offs = 0;
glob("/etc/*.c??f", GLOB_ERR, NULL, &globbuf);
for( i=0 ; i<globbuf.gl_pathc ; i++) {
fprintf(stdout, "\n%.2d: %s", i, globbuf.gl_pathv[i]);
}
globfree(&globbuf);
return 0;
}
'Content de peu n'a rien à craindre'
http://jm.marino.free.fr
[ Répondre ]