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:
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 |
POSIX.1-2001, POSIX.1-2008, 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 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 |