noble (3) mbsrtowcs.3.gz

Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <wchar.h>

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

DESCRIERE

       Dacă  dest  nu  este NULL, funcția mbsrtowcs() convertește șirul multioctet *src într-un șir de caractere
       largi care începe la dest.  În dest se scriu cel mult len caractere  late.   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.

       •  len 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, len 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().

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

VALOAREA RETURNATĂ

       Funcția  mbsrtowcs()  returnează numărul de caractere late care alcătuiesc partea convertită a șirului de
       caractere late, fără a include caracterul lat nul de sfârșit.  Î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

       POSIX.1-2001, POSIX.1-2008, 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   creată   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⟩.