Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

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 glibc 2.19 :
               _DEFAULT_SOURCE
           glibc 2.19 et antérieures :
               _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.

       Quels que soient les  paramètres  régionaux,  les  réponses  correspondant  à  ^[Yy]  sont
       toujours  acceptées  comme  affirmatives,  et  celles  correspondant à ^[Nn] sont toujours
       acceptées comme négatives.

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 │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS

       rpmatch() n'est requise par aucun standard mais est disponible sur la bibliothèque C  GNU,
       FreeBSD et AIX.

BOGUES

       YESEXPR  et NOEXPR dans certains paramètres régionaux (y compris « C\ ») n'inspecte que le
       premier caractère de la réponse. Cela peut signifier que « yno » et autres sont résolus  à
       1.  C'est  un  malheureux  effet  de  bord  historique  qui  devrait être corrigé avec des
       paramètres régionaux corrects  et  ne  devrait  pas  disqualifier  rpmatch()  comme  moyen
       approprié pour distinguer des réponses binaires.

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 _DEFAULT_SOURCE
       #include <locale.h>
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.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)

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>,  David  Prévot  <david@tilapin.org>  et  Jean-Pierre Giraud
       <jean-pierregiraud@neuf.fr>

       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⟩.