Provided by: manpages-pl-dev_4.18.1-1_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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.