Scroll to navigation

mbsrtowcs(3) Library Functions Manual 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

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 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.

5 februarie 2023 Pagini de manual de Linux 6.03