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 Podstawowa dla tej funkcji jest sytuacja, gdy s jest rozne od NULL i pwc jest rozne od NULL. W tym przypadku, funkcja mbtowc() sprawdza co najwyzej n bajtow ciagu wielobajtowego, zaczynajac od s, wydziela nastepny pelny znak wielobajtowy, przetwarza go na znak szeroki i umieszcza w *pwc. Aktualizuje wewnetrzny, znany tylko funkcji mbtowc(), stan przesuniety. Jesli s nie wskazuje na bajt null ('\0'), funkcja zwraca liczbe bajtow s, ktore zostaly zuzyte; w pozostalych przypadkach zwracane jest 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.9.1 15 czerwca 2024 r. mbtowc(3)