Provided by: manpages-pl-dev_0.5-1_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

        Uwaga! To tłumaczenie może być nieaktualne!

       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  ona  wewnętrzny,  znany  tylko  funkcji  mbtowc,  stan
       przesunięty.  Jeśli  s  nie  wskazuje  na bajt '\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, poczynając od s  nie  zawiera  pełnego  znaku  wielobajtowego,  lub  jeśli
       zawierają  one  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 posiada nietrywialne stany przesunięte, a  zero  jeśli
       kodowanie jest bezstanowe.

WARTOŚĆ ZWRACANA

       Jeśli s jest różne od NULL, funkcja mbtowc zwraca liczbę zużytych bajtów, poczynając od s,
       a 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.

ZGODNE Z

       ISO/ANSI C, UNIX98

ZOBACZ TAKŻE

       mbrtowc(3), mbstowcs(3), MB_CUR_MAX(3)

UWAGI

       Zachowanie mbtowc zależy od kategorii LC_CTYPE bieżącego locale.

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

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia  Manuali  i  może
       nie  być  aktualne.  W  razie  zauważenia  różnic  między  powyższym opisem a rzeczywistym
       zachowaniem opisywanego programu lub  funkcji,  prosimy  o  zapoznanie  się  z  oryginalną
       (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 3 mbtowc

       Prosimy  o  pomoc  w  aktualizacji stron man - więcej informacji można znaleźć pod adresem
       http://sourceforge.net/projects/manpages-pl/.