rpmatch
Section: C Library Functions (3)
Updated: 5 février 2023
Index
Return to Main Contents
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():
Since glibc 2.19:
_DEFAULT_SOURCE
glibc 2.19 and earlier:
_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 ha[Yy] are always
accepted as affirmative, and those matching ha[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).
Interface | Attribut | Valeur
|
rpmatch()
| Sécurité des threads | MT-Safe locale
|
STANDARDS
rpmatch() is not required by any standard, but available under the GNU C
library, FreeBSD, and AIX.
BOGUES
The YESEXPR and NOEXPR of some locales (including "C") only inspect
the first character of the response. This can mean that "yno" et
al. resolve to 1. This is an unfortunate historical side-effect which
should be fixed in time with proper localisation, and should not deter from
rpmatch() being the proper way to distinguish between binary answers.
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>
et
David Prévot <david@tilapin.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la
GNU General Public License version 3
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 à
Index
- NOM
-
- BIBLIOTHÈQUE
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- ATTRIBUTS
-
- STANDARDS
-
- BOGUES
-
- EXEMPLES
-
- VOIR AUSSI
-
- TRADUCTION
-
This document was created by
man2html,
using the manual pages.
Time: 07:09:16 GMT, May 18, 2024