Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       rpmatch - Déterminer si la réponse à une question est affirmative ou négative

SYNOPSIS

       #include <stdlib.h>

       int rpmatch(const char *réponse);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       rpmatch():
           Depuis la version 2.19 de la glibc :
               _DEFAULT_SOURCE
           Version 2.19 et antérieures de la glibc :
               _SVID_SOURCE

DESCRIPTION

       rpmatch() gère une réponse d'un utilisateur à une question oui ou non, avec  support  pour
       l'internationalisation.

       réponse  doit  être une chaîne de caractères, terminée par le caractère nul, contenant une
       réponse fournie par un utilisateur, peut-être obtenue avec fgets(3) ou getline(3).

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

       Regardless of the locale, responses matching ^[Yy] are always accepted as affirmative, and
       those matching ^[Nn] are always accepted as negative.

VALEUR RENVOYÉE

       Après  l'examen  de  réponse,  rpmatch()  renvoie  0  dans  le  cas d'une réponse négative
       (« Non »), 1 dans le cas d'une réponse affirmative  (« Oui »),  et  -1  si  la  valeur  de
       réponse n'est pas reconnue.

ERREURS

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

       rpmatch() peut échouer pour les mêmes raisons que regcomp(3) ou regexec(3) échouerait ; la
       cause  de  l'erreur  n'est  pas disponible dans errno ou ailleurs mais indique un échec du
       moteur d'expressions rationnelles (mais ce cas ne peut pas être distingué de  celui  d'une
       valeur de réponse non reconnue).

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├─────────────────────────────────────────────────┼──────────────────────┼────────────────┤
       │rpmatch()                                        │ Sécurité des threads │ MT-Safe locale │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

CONFORMITÉ

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

BOGUES

       The rpmatch()  implementation looks  at  only  the  first  character  of  response.  As  a
       consequence, "nyes" returns 0, and "ynever; not in a million years" returns 1. It would be
       preferable to accept input strings much more strictly, for  example  (using  the  extended
       regular expression notation described in regex(7)): ^([yY]|yes|YES)$ and ^([nN]|no|NO)$.

EXEMPLES

       Le  programme  exemple  suivant  affiche les résultats lorsque rpmatch() est appliqué à la
       chaîne 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 réponse\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           setlocale(LC_ALL, "");
           printf("rpmatch() a renvoyé : %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 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.