Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       rpmatch  -  Determiner  si la reponse a une question est affirmative ou
       negative

SYNOPSIS

       #include <stdlib.h>

       int rpmatch(const char *r'eponse);

   Exigences de macros de test de fonctionnalites  pour  la  glibc  (consultez
   feature_test_macros(7)) :

       rpmatch() : _SVID_SOURCE

DESCRIPTION

       rpmatch()  gere une reponse d'un utilisateur a une question oui ou non,
       avec support pour l'internationalisation.

       r'eponse doit etre une chaine de caracteres, terminee par  le  caractere
       nul,  contenant  une  reponse  fournie  par  un  utilisateur, peut-etre
       obtenue avec fgets(3) ou getline(3).

       La preference de langue de l'utilisateur est prise en  compte  par  les
       variables d'environnement LANG, LC_MESSAGES et LC_ALL si le programme a
       appele setlocale(3) pour effectuer leurs modifications.

       Quels que soient les parametres regionaux, les reponses correspondant a
       ^[Yy]   sont   toujours   acceptees   comme   affirmatives,  et  celles
       correspondant a ^[Nn] sont toujours acceptees comme negatives.

VALEUR RENVOY'EE

       Apres l'examen de r'eponse,  rpmatch()  renvoie  0  dans  le  cas  d'une
       reponse  negative  (<< Non >>), 1 dans le cas d'une reponse affirmative
       (<< Oui >>), et -1 si la valeur de r'eponse n'est pas reconnue.

ERREURS

       Une valeur de retour de -1 indique soit une entree invalide,  soit  une
       autre  erreur.  Il n'est pas correct de ne tester que la non nullite de
       la valeur de retour.

       rpmatch() peut  echouer  pour  les  memes  raisons  que  regcomp(3)  ou
       regexec(3)  echouerait ; la cause de l'erreur n'est pas disponible dans
       errno ou  ailleurs  mais  indique  un  echec  du  moteur  d'expressions
       rationnelles  (mais  ce  cas  ne peut pas etre distingue de celui d'une
       valeur de r'eponse non reconnue).

CONFORMIT'E

       rpmatch() n'est requise par aucun  standard  mais  est  disponible  sur
       quelques autres systemes.

BOGUES

       L'implementation  de  rpmatch()  ne regarde que le premier caractere de
       r'eponse. En consequence, << noui >> renvoie 0 et << ynon,  jamais,  pas
       dans  un million d'annees >> renvoie 1. Il serait preferable d'accepter
       des chaines de maniere plus  stricte,  par  exemple  (en  utilisant  la
       notation   des   expressions   rationnelles   etendues   decrites  dans
       regex(7)) : ^([yY]|yes|YES)$ et ^([nN]|no|NO)$.

EXEMPLE

       Le programme exemple suivant affiche les  resultats  lorsque  rpmatch()
       est applique a la chaine fournie comme argument de la ligne de commande
       du programme.

       #define _SVID_SOURCE
       #include <locale.h>
       #include <stdlib.h>
       #include <string.h>
       #include <stdio.h>

       int
       main(int argc, char *argv[])
       {
           if (argc != 2 || strcmp(argv[1], "--help") == 0) {
               fprintf(stderr, "%s reponse\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           setlocale(LC_ALL, "");
           printf("rpmatch() a renvoye : %d\n", rpmatch(argv[1]));
           exit(EXIT_SUCCESS);
       }

VOIR AUSSI

       fgets(3), getline(3), nl_langinfo(3), regcomp(3), setlocale(3)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   de   traduction
       francophone        au        sein        du       projet       perkamon
       <URL:http://perkamon.alioth.debian.org/>.

       Alain Portal <URL:http://manpagesfr.free.fr/> (2006).  Nicolas Francois
       et l'equipe francophone de traduction de Debian (2006-2009).

       Veuillez   signaler   toute   erreur   de   traduction  en  ecrivant  a
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.