Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       rpmatch - determină dacă răspunsul la o întrebare este afirmativ sau negativ

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <stdlib.h>

       int rpmatch(const char *response);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       rpmatch():
           Începând cu glibc 2.19:
               _DEFAULT_SOURCE
           glibc 2.19 și versiunile anterioare:
               _SVID_SOURCE

DESCRIERE

       rpmatch()  gestionează  un  răspuns  al  utilizatorului  la  întrebări de tip da sau nu, cu suport pentru
       internaționalizare.

       response ar trebui să fie un șir de caractere cu terminație nulă care să conțină un răspuns  furnizat  de
       utilizator, probabil obținut cu fgets(3) sau getline(3).

       Preferințele  de  limbă  ale  utilizatorului  sunt  luate  în  considerare  de variabilele de mediu LANG,
       LC_MESSAGES și LC_ALL, dacă programul a apelat setlocale(3) pentru a efectua modificări ale acestora.

       Indiferent de configurația regională, răspunsurile care se potrivesc cu ^[Yy] sunt întotdeauna  acceptate
       ca fiind afirmative, iar cele care se potrivesc cu ^[Nn] sunt întotdeauna acceptate ca fiind negative.

VALOAREA RETURNATĂ

       După  examinarea  lui  response,  rpmatch()  returnează  0 pentru un răspuns negativ recunoscut („no”), 1
       pentru un răspuns pozitiv recunoscut („yes”) și -1 atunci când valoarea lui response este nerecunoscută.

ERORI-IEȘIRE

       O valoare de returnare de -1 poate indica fie o intrare nevalidă, fie o altă eroare.  Este incorect să se
       testeze numai dacă valoarea de returnare este diferită de zero.

       rpmatch() poate eșua din oricare dintre motivele pentru care regcomp(3) sau regexec(3) poate eșua;  cauza
       erorii nu este disponibilă din errno sau din altă parte, dar indică un eșec al motorului regex (dar acest
       caz nu se poate distinge de cel al unei valori nerecunoscute a lui response).

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌──────────────────────────────────────────────────────────────────┬───────────────────┬────────────────┐
       │ InterfațăAtributValoare        │
       ├──────────────────────────────────────────────────────────────────┼───────────────────┼────────────────┤
       │ rpmatch()                                                        │ Siguranța firelor │ MT-Safe locale │
       └──────────────────────────────────────────────────────────────────┴───────────────────┴────────────────┘

STANDARDE

       Niciunul.

ISTORIC

       GNU, FreeBSD, AIX.

ERORI

       YESEXPR  și  NOEXPR din unele configurații regionale (inclusiv „C”) inspectează numai primul caracter din
       response. Acest lucru poate însemna că „yno” ș.a., se rezolvă la 1. Acesta este un efect secundar istoric
       nefericit care ar trebui să fie corectat în timp cu o configurație regională adecvată și nu ar trebui  să
       împiedice rpmatch() să fie modalitatea corectă de a distinge între răspunsurile binare.

EXEMPLE

       Următorul  program afișează rezultatele obținute atunci când rpmatch() este aplicat la șirul de caractere
       dat în argumentul din linia de comandă a programului.

       #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ăspuns\n", argv[0]);
               exit(EXIT_FAILURE);
           }

           setlocale(LC_ALL, "");
           printf("rpmatch() returnează: %d\n", rpmatch(argv[1]));
           exit(EXIT_SUCCESS);
       }

CONSULTAȚI ȘI

       fgets(3), getline(3), nl_langinfo(3), regcomp(3), setlocale(3)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                   15 iunie 2024                                       rpmatch(3)