oracular (3) mbsrtowcs.3.gz

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

NUME

       mbsrtowcs - convertește un șir de caractere multioctet într-un șir de caractere late (repornibil)

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <wchar.h>

       size_t mbsrtowcs(wchar_t dest[restrict .dsize],
                        const char **restrict src,
                        size_t dsize, mbstate_t *restrict ps);

DESCRIERE

       Dacă  dest  nu este NULL, convertește șirul multi-octet *src într-un șir de caractere late care începe la
       dest. Cel mult dsize caractere late sunt scrise în  dest.   Se  actualizează  starea  de  conversie  *ps.
       Conversia  se realizează efectiv prin apelarea repetată a mbrtowc(dest, *src, n, ps) unde n este un număr
       pozitiv, atâta timp cât acest apel reușește, și apoi prin incrementarea dest cu unu și *src cu numărul de
       octeți consumați.  Conversia se poate opri din trei motive:

       •  A  fost  întâlnită  o secvență multiocteți nevalidă. În acest caz, *src rămâne indicând către secvența
          multiocteți nevalidă, (size_t) -1 este returnată, iar errno este configurată la EILSEQ.

       •  dsize caractere non-L'\0' late au fost stocate la dest. În acest caz, *src rămâne indicând  următoarea
          secvență  multioctet care urmează să fie convertită, iar numărul de caractere late scrise în dest este
          returnat.

       •  Șirul multioctet a fost complet convertit, inclusiv caracterul lat nul de la sfârșit ('\0'),  ceea  ce
          are  ca  efect secundar aducerea lui *ps la starea inițială.  În acest caz, *src este stabilit la NULL
          și se returnează numărul de caractere largi scrise în  dest,  cu  excepția  caracterului  lat  nul  de
          sfârșit.

       Dacă  dest este NULL, dsize este ignorat, iar conversia se desfășoară ca mai sus, cu excepția faptului că
       nu sunt scrise în memorie caracterele late convertite și că nu există o limită de lungime.

       În ambele cazuri de mai sus, în cazul în care ps este NULL, se  utilizează  în  schimb  o  stare  statică
       anonimă cunoscută doar de funcția mbsrtowcs().

       Pentru a evita cazul 2 de mai sus, programatorul trebuie să se asigure că dsize este mai mare sau egal cu
       mbsrtowcs(NULL,src,0,ps)+1.

       Programatorul trebuie să se asigure că există spațiu pentru cel puțin dsize caractere la dest.

       Această funcție este o versiune repornibilă a mbstowcs(3).

VALOAREA RETURNATĂ

       Numărul de caractere late care alcătuiesc partea convertită a șirului de caractere late, fără  a  include
       caracterul  lat  de  încheiere  nul. În cazul în care a fost întâlnită o secvență multioctet nevalidă, se
       returnează (size_t) -1, iar errno este configurată la EILSEQ.

ATRIBUTE

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

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

STANDARDE

       C11, POSIX.1-2008.

ISTORIC

       POSIX.1-2001, C99.

NOTE

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

       Transmiterea lui NULL ca ps nu este sigură pentru execuția cu mai multe fire.

CONSULTAȚI ȘI

       iconv(3), mbrtowc(3), mbsinit(3), mbsnrtowcs(3), mbstowcs(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⟩.