mbsinit(3)

NUME
mbsinit - test pentru starea inițială de schimbare (conversie)

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <wchar.h>

int mbsinit(const mbstate_t *ps);

DESCRIERE
Conversia caracterelor între reprezentarea multi-octet și reprezentarea caracterelor late utilizează starea de conversie, de tip mbstate_t. Conversia unui șir de caractere utilizează o mașină cu stare finită; atunci când aceasta este întreruptă după conversia completă a unui număr de caractere, poate fi necesar să salveze o stare pentru procesarea caracterelor rămase. O astfel de stare de conversie este necesară pentru codificări precum ISO-2022 și UTF-7.

Starea inițială este starea de la începutul conversiei unui șir de caractere. Există două tipuri de stare: cea utilizată de funcțiile de conversie de la multi-octet la caractere late, cum ar fi mbsrtowcs(3), și cea utilizată de funcțiile de conversie de la caractere late la mult-octet, cum ar fi wcsrtombs(3), dar ambele încap într-un mbstate_t și ambele au aceeași reprezentare pentru o stare inițială.

Pentru codificările pe 8 biți, toate stările sunt echivalente cu starea inițială. În cazul codificărilor multi-octet, cum ar fi UTF-8, EUC-*, BIG5 sau SJIS, funcțiile de conversie de la caracter lat la multi-octet nu produc niciodată stări ne-inițiale, dar funcțiile de conversie de la multi-octet la caracter lat, cum ar fi mbrtowc(3), produc stări ne-inițiale atunci când sunt întrerupte în mijlocul unui caracter.

Un mod posibil de a crea un mbstate_t în starea inițială este de a-l fixa la zero:

    mbstate_t state;
    memset(&state, 0, sizeof(state));

În Linux, funcționează la fel de bine, dar ar putea genera avertismente de compilare:

    mbstate_t state = { 0 };

Funcția mbsinit() verifică dacă *ps corespunde unei stări inițiale.

VALOAREA RETURNATĂ
mbsinit() returnează o valoare diferită de zero dacă *ps este o stare inițială sau dacă ps este NULL. În caz contrar, returnează 0.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
mbsinit() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

ISTORIC
POSIX.1-2001, C99.

NOTE
Comportamentul lui mbsinit() depinde de categoria LC_CTYPE din configurația regională curentă.

CONSULTAȚI ȘI
mbrlen(3), mbrtowc(3), mbsrtowcs(3), wcrtomb(3), wcsrtombs(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.