Provided by: manpages-pl-dev_0.7-2_all bug

NAZWA

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

SKŁADNIA

       #include <stdlib.h>

       int mbtowc(wchar_t *pwc, const char *s, size_t n);

OPIS

       Podstawową  dla  tej  funkcji  jest sytuacja, gdy s jest różne od NULL i pwc jest różne od
       NULL.  W  tym  przypadku,  funkcja  mbtowc()  sprawdza  co   najwyżej   n   bajtów   ciągu
       wielobajtowego,  zaczynając od s, wydziela następny pełny znak wielobajtowy, przetwarza go
       na znak szeroki i umieszcza w *pwc. Aktualizuje wewnętrzny, znany tylko funkcji  mbtowc(),
       stan  przesunięty.  Jeśli s nie wskazuje na bajt null ('\0'), funkcja zwraca liczbę bajtów
       s, które zostały zużyte; w pozostałych przypadkach zwracane jest 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 │
       └──────────┴────────────────────────┴────────────────┘

ZGODNE Z

       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), wctomb(3), wcstombs(3)

O STRONIE

       Angielska  wersja  tej  strony  pochodzi  z  wydania  4.07  projektu Linux man-pages. Opis
       projektu, informacje dotyczące zgłaszania błędów oraz  najnowszą  wersję  oryginału  można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

TŁUMACZENIE

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

       Polskie  tłumaczenie jest częścią projektu manpages-pl; uwagi, pomoc, zgłaszanie błędów na
       stronie  http://sourceforge.net/projects/manpages-pl/.  Jest   zgodne   z   wersją    4.07
       oryginału.