mbsrtowcs(3)

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ță | Atribut | Valoare
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 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.