| mbsrtowcs(3) | Library Functions Manual | mbsrtowcs(3) |
mbsrtowcs - convertește un șir de caractere multioctet într-un șir de caractere late (repornibil)
Biblioteca C standard (libc, -lc)
#include <wchar.h>
size_t mbsrtowcs(wchar_t dest[restrict .dsize],
const char **restrict src,
size_t dsize, mbstate_t *restrict ps);
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:
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).
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.
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 |
C11, POSIX.1-2008.
POSIX.1-2001, C99.
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.
iconv(3), mbrtowc(3), mbsinit(3), mbsnrtowcs(3), mbstowcs(3)
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 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.
| 15 iunie 2024 | Pagini de manual de Linux 6.9.1 |