mbrtowc(3) Library Functions Manual mbrtowc(3) NUME mbrtowc - convertete o secvena multi-octet intr-un caracter lat BIBLIOTECA Biblioteca C standard (libc, -lc) REZUMAT #include size_t mbrtowc(wchar_t *restrict pwc, const char s[restrict .n], size_t n, mbstate_t *restrict ps); DESCRIERE Cazul principal pentru aceasta funcie este atunci cand s nu este NULL i pwc nu este NULL. In acest caz, funcia mbrtowc() inspecteaza cel mult n octei din irul multioctet incepand de la s, extrage urmatorul caracter multioctet complet, il convertete intr-un caracter lat i il stocheaza la *pwc. Se actualizeaza starea de conversie *ps. In cazul in care caracterul lat convertit nu este L'\0' (caracterul lat null), se returneaza numarul de octei care au fost consumai din s. In cazul in care caracterul lat convertit este L'\0', se reiniiaza starea de conversie *ps la starea iniiala i se returneaza 0. In cazul in care n octei care incep la s nu conin un caracter multioctet complet, mbrtowc() returneaza (size_t) -2. Acest lucru se poate intampla chiar daca n >= MB_CUR_MAX, in cazul in care irul multioctet conine secvene de deplasare redundante. Daca irul multioctet care incepe la s conine o secvena multioctet nevalida inainte de urmatorul caracter complet, mbrtowc() returneaza (size_t) -1 i configureaza errno la EILSEQ. In acest caz, efectele asupra lui *ps sunt nedefinite. Un caz diferit este atunci cand s nu este NULL, dar pwc este NULL. In acest caz, funcia mbrtowc() se comporta ca mai sus, cu excepia faptului ca nu stocheaza in memorie caracterul lat convertit. Un al treilea caz este atunci cand s este NULL. In acest caz, pwc i n sunt ignorate. In cazul in care starea de conversie reprezentata de *ps denota o conversie incompleta a caracterelor multioctet, funcia mbrtowc() returneaza (size_t) -1, stabilete errno la EILSEQ i lasa *ps intr-o stare nedefinita. In caz contrar, funcia mbrtowc() plaseaza *ps in starea iniiala i returneaza 0. In toate cazurile de mai sus, daca ps este NULL, se folosete in schimb o stare statica anonima cunoscuta doar de funcia mbrtowc(). Daca nu, *ps trebuie sa fie un obiect mbstate_t valid. Un obiect mbstate_t a poate fi iniializat la starea iniiala prin aducerea la zero, de exemplu, folosind memset(&a, 0, sizeof(a)); VALOAREA RETURNATA Funcia mbrtowc() returneaza numarul de octei analizai din secvena de mai muli octei care incepe la s, daca a fost recunoscut un caracter lat care nu este L'\0'. Aceasta returneaza 0, daca a fost recunoscut un caracter lat L'\0'. Returneaza (size_t) -1 i configureaza errno la EILSEQ, in cazul in care a fost intalnita o secvena multioctet nevalida. Acesta returneaza (size_t) -2 daca nu a putut analiza un caracter multioctet complet, ceea ce inseamna ca n ar trebui sa fie marit. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +-------------------+---------------------+----------------------------+ |Interfaa | Atribut | Valoare | +-------------------+---------------------+----------------------------+ |mbrtowc() | Sigurana firelor | MT-Unsafe race:mbrtowc/!ps | +-------------------+---------------------+----------------------------+ STANDARDE C11, POSIX.1-2008. ISTORIC POSIX.1-2001, C99. NOTE Comportamentul lui mbrtowc() depinde de categoria LC_CTYPE din configuraia regionala curenta. CONSULTAI I mbsinit(3), mbsrtowcs(3) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 mbrtowc(3)