rpmatch(3) Library Functions Manual rpmatch(3) NOM rpmatch - Determiner si la reponse a une question est affirmative ou negative BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int rpmatch(const char *reponse); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : rpmatch() : Depuis la glibc 2.19 : _POSIX_C_SOURCE >= 200809L glibc 2.19 et anterieures : _ATFILE_SOURCE DESCRIPTION rpmatch() gere une reponse d'un utilisateur a une question oui ou non, avec support pour l'internationalisation. reponse doit etre une chaine de caracteres, terminee par le caractere nul, contenant une reponse fournie par un utilisateur, peut-etre obtenue avec fgets(3) ou getline(3). La preference de langue de l'utilisateur est prise en compte par les variables d'environnement LANG, LC_MESSAGES et LC_ALL si le programme a appele setlocale(3) pour effectuer leurs modifications. Quels que soient les parametres regionaux, les reponses correspondant a ^[Yy] sont toujours acceptees comme affirmatives, et celles correspondant a ^[Nn] sont toujours acceptees comme negatives. VALEUR RENVOYEE Apres l'examen de reponse, rpmatch() renvoie 0 dans le cas d'une reponse negative (<< Non >>), 1 dans le cas d'une reponse affirmative (<< Oui >>), et -1 si la valeur de reponse n'est pas reconnue. ERREURS Une valeur de retour de -1 indique soit une entree invalide, soit une autre erreur. Il n'est pas correct de ne tester que la non nullite de la valeur de retour. rpmatch() peut echouer pour les memes raisons que regcomp(3) ou regexec(3) echouerait ; la cause de l'erreur n'est pas disponible dans errno ou ailleurs mais indique un echec du moteur d'expressions rationnelles (mais ce cas ne peut pas etre distingue de celui d'une valeur de reponse non reconnue). ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +--------------------------+--------------------------+----------------+ |Interface | Attribut | Valeur | +--------------------------+--------------------------+----------------+ |rpmatch() | Securite des threads | MT-Safe locale | +--------------------------+--------------------------+----------------+ STANDARDS None. HISTORIQUE GNU, FreeBSD, AIX. BOGUES YESEXPR et NOEXPR dans certains parametres regionaux (y compris << C\[u00A0]>>) n'inspecte que le premier caractere de la reponse. Cela peut signifier que << yno >> et autres sont resolus a 1. C'est un malheureux effet de bord historique qui devrait etre corrige avec des parametres regionaux corrects et ne devrait pas disqualifier rpmatch() comme moyen approprie pour distinguer des reponses binaires. EXEMPLES Le programme exemple suivant affiche les resultats lorsque rpmatch() est applique a la chaine fournie comme argument de la ligne de commande du programme. #define _DEFAULT_SOURCE #include #include #include #include int main(int argc, char *argv[]) { if (argc != 2 || strcmp(argv[1], "--help") == 0) { fprintf(stderr, "%s response\n", argv[0]); exit(EXIT_FAILURE); } setlocale(LC_ALL, ""); printf("rpmatch() returns: %d\n", rpmatch(argv[1])); exit(EXIT_SUCCESS); } VOIR AUSSI fgets(3), getline(3), nl_langinfo(3), regcomp(3), setlocale(3) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 rpmatch(3)