Scroll to navigation

mbsinit(3) Library Functions Manual 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 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.

20 iulie 2023 Pagini de manual de Linux 6.05.01