Provided by: manpages-ro-dev_4.27.0-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  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                                       mbrtowc(3)