Provided by: manpages-fr-dev_4.23.1-1_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 :
               _POSIX_C_SOURCE >= 200809L
           glibc 2.19 et antérieures :
               _ATFILE_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

       Aucun.

HISTORIQUE

       GNU, FreeBSD, AIX.

BOGUES

       YESEXPR et NOEXPR dans certains paramètres régionaux (y compris  « C\[u00A0]»)  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⟩.