plucky (3) mbrtowc.3.gz

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

NUME

       mbrtowc - convertește o secvență multi-octet într-un caracter lat

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <wchar.h>

       size_t mbrtowc(wchar_t *restrict pwc, const char s[restrict .n],
                      size_t n, mbstate_t *restrict ps);

DESCRIERE

       Cazul principal pentru această funcție este atunci când s nu este NULL și pwc nu este NULL. În acest caz,
       funcția mbrtowc() inspectează cel mult n octeți din șirul multioctet începând de la s, extrage  următorul
       caracter multioctet complet, îl convertește într-un caracter lat și îl stochează la *pwc. Se actualizează
       starea de conversie *ps. În cazul în care caracterul lat convertit nu este L'\0' (caracterul  lat  null),
       se  returnează  numărul de octeți care au fost consumați din s. În cazul în care caracterul lat convertit
       este L'\0', se reinițiază starea de conversie *ps la starea inițială și se returnează 0.

       În cazul în care n octeți care încep la s nu conțin un caracter multioctet complet, mbrtowc()  returnează
       (size_t) -2.  Acest lucru se poate întâmpla chiar dacă n >= MB_CUR_MAX, în cazul în care șirul multioctet
       conține secvențe de deplasare redundante.

       Dacă șirul multioctet care începe la s conține  o  secvență  multioctet  nevalidă  înainte  de  următorul
       caracter  complet,  mbrtowc()  returnează  (size_t) -1  și  configurează  errno la EILSEQ.  În acest caz,
       efectele asupra lui *ps sunt nedefinite.

       Un caz diferit este atunci când s nu este NULL, dar pwc este NULL. În acest  caz,  funcția  mbrtowc()  se
       comportă ca mai sus, cu excepția faptului că nu stochează în memorie caracterul lat convertit.

       Un  al  treilea  caz este atunci când s este NULL. În acest caz, pwc și n sunt ignorate. În cazul în care
       starea de conversie reprezentată de *ps denotă o conversie incompletă a caracterelor multioctet,  funcția
       mbrtowc()  returnează (size_t) -1, stabilește errno la EILSEQ și lasă *ps într-o stare nedefinită. În caz
       contrar, funcția mbrtowc() plasează *ps în starea inițială și returnează 0.

       În toate cazurile de mai sus, dacǎ ps este NULL, se folosește în schimb o stare statică anonimă cunoscută
       doar  de  funcția mbrtowc(). Dacă nu, *ps trebuie să fie un obiect mbstate_t valid. Un obiect mbstate_t a
       poate fi inițializat la starea inițială prin aducerea la zero, de exemplu, folosind

           memset(&a, 0, sizeof(a));

VALOAREA RETURNATĂ

       Funcția mbrtowc() returnează numărul de octeți analizați din secvența de mai mulți octeți care începe  la
       s,  dacă  a  fost  recunoscut  un  caracter  lat  care  nu  este L'\0'. Aceasta returnează 0, dacă a fost
       recunoscut un caracter lat L'\0'. Returnează (size_t) -1 și configurează errno la  EILSEQ,  în  cazul  în
       care  a  fost  întâlnită  o  secvență  multioctet nevalidă. Acesta returnează (size_t) -2 dacă nu a putut
       analiza un caracter multioctet complet, ceea ce înseamnă că n ar trebui să fie mărit.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌───────────────────────────────────────────────────────┬───────────────────┬────────────────────────────┐
       │InterfațăAtributValoare                    │
       ├───────────────────────────────────────────────────────┼───────────────────┼────────────────────────────┤
       │mbrtowc()                                              │ Siguranța firelor │ MT-Unsafe race:mbrtowc/!ps │
       └───────────────────────────────────────────────────────┴───────────────────┴────────────────────────────┘

STANDARDE

       C11, POSIX.1-2008.

ISTORIC

       POSIX.1-2001, C99.

NOTE

       Comportamentul lui mbrtowc() depinde de categoria LC_CTYPE din configurația regională curentă.

CONSULTAȚI ȘI

       mbsinit(3), mbsrtowcs(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
       ⟨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⟩.