mbtowc(3) Library Functions Manual mbtowc(3) NAZWA mbtowc - przeksztalca ciag wielobajtowy na znak szeroki BIBLIOTEKA Standardowa biblioteka C (libc, -lc) SKLADNIA #include int mbtowc(wchar_t *restrict pwc, const char s[restrict .n], size_t n); OPIS The main case for this function is when s is not NULL and pwc is not NULL. In this case, the mbtowc() function inspects at most n bytes of the multibyte string starting at s, extracts the next complete multibyte character, converts it to a wide character and stores it at *pwc. It updates an internal shift state known only to the mbtowc() function. If s does not point to a null byte ('\0'), it returns the number of bytes that were consumed from s, otherwise it returns 0. Jesli n bajtow, zaczynajac od s, nie zawiera pelnego znaku wielobajtowego lub jesli zawieraja niepoprawny ciag wielobajtowy, mbtowc() zwraca -1. Moze sie to zdarzyc, nawet gdy n >= MB_CUR_MAX, jesli wielobajtowy lancuch zawiera nadmiarowe ciagi przesuniec. Inna sytuacja ma miejsce, gdy s jest rozne od NULL, ale pwc jest rowne NULL. Wowczas funkcja mbtowc() zachowuje sie jak powyzej, z tym wyjatkiem, ze nie przechowuje przetworzonego znaku szerokiego w pamieci. Trzecia sytuacja wystepuje, gdy s jest rowne NULL. Wowczas pwc i n sa ignorowane. Funkcja mbtowc() sprowadza stan przesuniety, znany tylko tej funkcji, do stanu wyjsciowego i zwraca wartosc rozna od zera, gdy kodowanie zawiera nietrywialne stany przesuniete, lub zero, jesli kodowanie jest bezstanowe. WARTOSC ZWRACANA Jesli s jest rozne od NULL, funkcja mbtowc() zwraca liczbe zuzytych bajtow, zaczynajac od s; zwraca 0, jesli s wskazuje na bajt null lub -1 w przypadku bledu. Jesli s jest rowne NULL, funkcja mbtowc zwraca wartosc rozna od zera, gdy kodowanie posiada nietrywialne stany przesuniete, a zero, gdy kodowanie jest bezstanowe. ATRYBUTY Informacje o pojeciach uzywanych w tym rozdziale mozna znalezc w podreczniku attributes(7). +-------------------+--------------------------+-----------------------+ |Interfejs | Atrybut | Wartosc | +-------------------+--------------------------+-----------------------+ |mbtowc() | Bezpieczenstwo watkowe | MT-niebezpieczne race | +-------------------+--------------------------+-----------------------+ WERSJE Funkcja ta nie jest przystosowana do wielowatkowosci. Funkcja mbrtowc(3)zapewnia lepszy interfejs przy tym samym dzialaniu. STANDARDY C11, POSIX.1-2008. HISTORIA POSIX.1-2001, C99. UWAGI Zachowanie mbtowc() zalezy od kategorii LC_CTYPE biezacych ustawien regionalnych. ZOBACZ TAKZE MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3) TLUMACZENIE Autorami polskiego tlumaczenia niniejszej strony podrecznika sa: Andrzej Krzysztofowicz , Robert Luberda i Michal Kulach Niniejsze tlumaczenie jest wolna dokumentacja. Blizsze informacje o warunkach licencji mozna uzyskac zapoznajac sie z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje sie ZADNEJ ODPOWIEDZIALNOSCI. Bledy w tlumaczeniu strony podrecznika prosimy zglaszac na adres listy dyskusyjnej . Linux man-pages 6.06 31 pazdziernika 2023 r. mbtowc(3)