Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #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

       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

       rpmatch() nu este impusă de niciun standard, dar este disponibilă  în  cadrul  bibliotecii
       GNU C, FreeBSD și 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  creată  de  Remus-Gabriel  Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.