wcsrtombs(3) Library Functions Manual wcsrtombs(3)

wcsrtombs - convertește un șir de caractere late într-un șir multi-octet

Biblioteca C standard (libc, -lc)

#include <wchar.h>
size_t wcsrtombs(char dest[restrict .len], const wchar_t **restrict src,
                 size_t len, mbstate_t *restrict ps);

Dacă dest nu este NULL, funcția wcsrtombs() convertește șirul de caractere late *src într-un șir multi-octet care începe la dest. În dest se scriu cel mult len octeți. Se actualizează starea de conversie *ps. Conversia se realizează efectiv prin apelarea repetată a wcrtomb(dest, *src, ps), atâta timp cât acest apel reușește, iar apoi se incrementează dest cu numărul de octeți scriși și *src cu unu. Conversia se poate opri din trei motive:

A fost întâlnit un caracter lat care nu poate fi reprezentat ca o secvență de mai mulți octeți (în conformitate cu configurația regională curentă). În acest caz, *src rămâne îndreptat către caracterul lat nevalid, se returnează (size_t) -1, iar errno este configurată la EILSEQ.
Limita de lungime forțează o oprire. În acest caz, *src rămâne îndreptat către următorul caracter lat care urmează să fie convertit, iar numărul de octeți scris în dest este returnat.
Șirul de caractere late a fost complet convertit, inclusiv caracterul lat nul de sfârșit (L'\0'), ceea ce are ca efect secundar aducerea lui *ps la starea inițială. În acest caz, *src este fixat la NULL și se returnează numărul de octeți scriși în dest, excluzând octetul nul de sfârșit (L'\0').

Dacă dest este NULL, len este ignorată, iar conversia se desfășoară ca mai sus, cu excepția faptului că octeții convertiți nu sunt scriși în memorie și că nu există o limită de lungime.

În ambele cazuri de mai sus, dacă ps este NULL, se utilizează în schimb o stare statică anonimă cunoscută doar de funcția wcsrtombs().

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

Funcția wcsrtombs() returnează numărul de octeți care alcătuiesc partea convertită a secvenței multi-octet, fără a include octetul nul de terminare. În cazul în care a fost întâlnit un caracter lat care nu a putut fi convertit, 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
wcsrtombs() Siguranța firelor MT-Unsafe race:wcsrtombs/!ps

C11, POSIX.1-2008.

POSIX.1-2001, C99.

Comportamentul lui wcsrtombs() 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), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(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