plucky (3) mbsrtowcs.3.gz

Provided by: manpages-ro-dev_4.25.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⟩.