noble (3) rpmatch.3.gz

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