Le troisième paramètre est une fonction qui sera apellée pour chaque fichier. Dans cette fonction, tu dois regarder si le fichier est bien un .txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon. La strcture dirent passée en param à cette fonction contient le nom du fichier, donc rien de bien compliqué.
Le Sat, 21 Apr 2007 14:56:25 +0200, matt <matt@mata.com> a écrit:
Le troisième paramètre est une fonction qui sera apellée pour chaque
fichier. Dans cette fonction, tu dois regarder si le fichier est bien un
.txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon.
La strcture dirent passée en param à cette fonction contient le nom du
fichier, donc rien de bien compliqué.
Le troisième paramètre est une fonction qui sera apellée pour chaque fichier. Dans cette fonction, tu dois regarder si le fichier est bien un .txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon. La strcture dirent passée en param à cette fonction contient le nom du fichier, donc rien de bien compliqué.
matt
Le Sat, 21 Apr 2007 14:56:25 +0200, matt a écrit:
Le troisième paramètre est une fonction qui sera apellée pour chaque fichier. Dans cette fonction, tu dois regarder si le fichier est bien un ..txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon. La strcture dirent passée en param à cette fonction contient le nom du fichier, donc rien de bien compliqué.
Merci pour la reponse, voici donc la fonction qui me permet de filtrer les "*.txt" :
Le Sat, 21 Apr 2007 14:56:25 +0200, matt <matt@mata.com> a écrit:
Le troisième paramètre est une fonction qui sera apellée pour chaque
fichier. Dans cette fonction, tu dois regarder si le fichier est bien un
..txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon.
La strcture dirent passée en param à cette fonction contient le nom du
fichier, donc rien de bien compliqué.
Merci pour la reponse, voici donc la fonction qui me permet de filtrer
les "*.txt" :
Le troisième paramètre est une fonction qui sera apellée pour chaque fichier. Dans cette fonction, tu dois regarder si le fichier est bien un ..txt (comparaison du nom), et retourner 1 si c'est le cas, 0 sinon. La strcture dirent passée en param à cette fonction contient le nom du fichier, donc rien de bien compliqué.
Merci pour la reponse, voici donc la fonction qui me permet de filtrer les "*.txt" :
Je prefere utiliser plus la bibliotheque standard. Par exemple: int filter(const struct dirent *a) { const char *n = a->d_name; size_t len = strlen(n); return len >= 4 && strcmp(n+len-4, ".txt") == 0; }
(ou bien un strrchr, hein, ca marche aussi, mais uniquement parce qu'on cherche .txt).
In article <f0d6a5$2vp$2@news.httrack.net>,
Xavier Roche <xroche@free.fr.NOSPAM.invalid> wrote:
Je prefere utiliser plus la bibliotheque standard. Par exemple:
int
filter(const struct dirent *a)
{
const char *n = a->d_name;
size_t len = strlen(n);
return len >= 4 && strcmp(n+len-4, ".txt") == 0;
}
(ou bien un strrchr, hein, ca marche aussi, mais uniquement parce qu'on
cherche .txt).
Je prefere utiliser plus la bibliotheque standard. Par exemple: int filter(const struct dirent *a) { const char *n = a->d_name; size_t len = strlen(n); return len >= 4 && strcmp(n+len-4, ".txt") == 0; }
(ou bien un strrchr, hein, ca marche aussi, mais uniquement parce qu'on cherche .txt).
Harpo
On Sat, 21 Apr 2007 16:03:21 +0200, matt wrote:
if(strcmp(name, ".txt") == 0) return 1;
Ouille aïe aïe aïlle.
int is_txt(const char * name) { size_t len: len = strlen(name); if (len < 4) return 0; if (memcmp(name + len - 4, ".txt", 4)) return 1; return 0: }
Bon : Pas compilé, pas testé, mais ça devrait le faire au bout d'un certain temps. Le jour où j'y penserai, je l'étendrai aux '.mp3', il y a plus de marché.
int is_txt(const char * name)
{
size_t len:
len = strlen(name);
if (len < 4) return 0;
if (memcmp(name + len - 4, ".txt", 4)) return 1;
return 0:
}
Bon :
Pas compilé, pas testé, mais ça devrait le faire au bout d'un certain
temps. Le jour où j'y penserai, je l'étendrai aux '.mp3', il y a plus de
marché.
int is_txt(const char * name) { size_t len: len = strlen(name); if (len < 4) return 0; if (memcmp(name + len - 4, ".txt", 4)) return 1; return 0: }
Bon : Pas compilé, pas testé, mais ça devrait le faire au bout d'un certain temps. Le jour où j'y penserai, je l'étendrai aux '.mp3', il y a plus de marché.