Re: un peu HS : problème en C

Top Page

Reply to this message
Author: allegre.guillaume
Date:  
To: guilde
Subject: Re: un peu HS : problème en C
Quoting Patrick Begou <Patrick.Begou@???>:

> #include<stdio.h>
> #include<string.h>
> int main()
> {
> char tab[20];
> char ref[]="toto.";
>
>
> scanf("%s",tab);
> while (strlen(tab) !=1 || tab[0]!='q')
>    {
>    printf("strcmp(\"%s\",\"%s\") = %d
> \n",tab,ref,strncmp(tab,ref,strlen(ref)));
>    scanf("%s",tab);
>    }
> return 0;
> }


Le bout de code que tu donnes, ainsi que celui d'origine cité par Anne
ressemblent un peu à des bidouilles. Il faut reconnaître que C est moins
pratique que Perl par exemple pour ce type de chose, mais il y a quand même
glob, une fonction générique pour ce problème, à savoir l'expansion des
métacaractères dans un chemin ou un nom de fichier, c'est glob.

glob - find pathnames matching a pattern
man 3 glob

Ca demande un peu plus de se plonger dans le C, c'est sûr, mais c'est beaucoup
plus flexible que les bidouilles sur la recherche du point dans le nom de
fichier.