Provided by: manpages-pl-dev_4.21.0-2_all bug

NAZWA

       mbtowc - przekształca ciąg wielobajtowy na znak szeroki

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <stdlib.h>

       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.

       Jeśli n bajtów, zaczynając od s, nie zawiera pełnego znaku wielobajtowego lub jeśli zawierają niepoprawny
       ciąg wielobajtowy, mbtowc() zwraca -1. Może się to zdarzyć, nawet gdy n >= MB_CUR_MAX, jeśli wielobajtowy
       łańcuch zawiera nadmiarowe ciągi przesunięć.

       Inna sytuacja ma miejsce, gdy s jest różne od NULL, ale pwc jest równe  NULL.  Wówczas  funkcja  mbtowc()
       zachowuje się jak powyżej, z tym wyjątkiem, że nie przechowuje przetworzonego znaku szerokiego w pamięci.

       Trzecia  sytuacja  występuje,  gdy  s  jest  równe  NULL. Wówczas pwc i n są ignorowane. Funkcja mbtowc()
       sprowadza stan przesunięty, znany tylko tej funkcji, do stanu wyjściowego i zwraca wartość różną od zera,
       gdy kodowanie zawiera nietrywialne stany przesunięte, lub zero, jeśli kodowanie jest bezstanowe.

WARTOŚĆ ZWRACANA

       Jeśli s jest różne od NULL, funkcja mbtowc() zwraca liczbę zużytych bajtów, zaczynając od  s;  zwraca  0,
       jeśli s wskazuje na bajt null lub -1 w przypadku błędu.

       Jeśli  s jest równe NULL, funkcja mbtowc zwraca wartość różną od zera, gdy kodowanie posiada nietrywialne
       stany przesunięte, a zero, gdy kodowanie jest bezstanowe.

ATRYBUTY

       Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
       ┌─────────────────────────────────────────────────────────────┬────────────────────────┬────────────────┐
       │ InterfejsAtrybutWartość        │
       ├─────────────────────────────────────────────────────────────┼────────────────────────┼────────────────┤
       │ mbtowc()                                                    │ Bezpieczeństwo wątkowe │ MT-Unsafe race │
       └─────────────────────────────────────────────────────────────┴────────────────────────┴────────────────┘

STANDARDY

       POSIX.1-2001, POSIX.1-2008, C99.

UWAGI

       Zachowanie mbtowc() zależy od kategorii LC_CTYPE bieżących ustawień regionalnych.

       Funkcja ta nie jest przystosowana do wielowątkowości. Funkcja mbrtowc(3)zapewnia  lepszy  interfejs  przy
       tym samym działaniu.

ZOBACZ TAKŻE

       MB_CUR_MAX(3), mblen(3), mbrtowc(3), mbstowcs(3), wcstombs(3), wctomb(3)

TŁUMACZENIE

       Autorami    polskiego    tłumaczenia   niniejszej   strony   podręcznika   są:   Andrzej   Krzysztofowicz
       <ankry@green.mf.pg.gda.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje  o  warunkach  licencji  można  uzyskać
       zapoznając   się   z   GNU General Public License w wersji 3   lub  nowszej.  Nie  przyjmuje  się  ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej  manpages-pl-
       list@lists.sourceforge.net.

Linux man-pages 6.03                            5 lutego 2023 r.                                       mbtowc(3)