table of contents
rpmatch(3) | Library Functions Manual | rpmatch(3) |
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);
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ță | Atribut | Valoare |
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.
2 mai 2024 | Pagini de manual Linux (nepublicate) |