wcsrtombs(3)

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

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <wchar.h>

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

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

VALOAREA RETURNATĂ
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.

ATRIBUTE
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

STANDARDE
C11, POSIX.1-2008.

ISTORIC
POSIX.1-2001, C99.

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

CONSULTAȚI ȘI
iconv(3), mbsinit(3), wcrtomb(3), wcsnrtombs(3), wcstombs(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.