focal (3) mbtowc.3.gz

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.