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

NAZWA

       wcrtomb - konwertuje szerokie znaki na sekwencje wielobajtowe

SKŁADNIA

       #include <wchar.h>

       size_t wcrtomb(char *s, wchar_t wc, mbstate_t *ps);

OPIS

       Podstawowym  zastosowaniem  tej  funkcji jest przypadek, gdy s nie jest NULL i wc nie jest
       szerokim znakiem null (L'\0'). Wtedy funkcja wcrtomb() konwertuje szeroki znak wc na  jego
       wielobajtową  reprezentację i zachowuje ją na początku tablicy znakowej, wskazywanej przez
       s. Aktualizuje stan przesunięcia *ps i zwraca  długość  reprezentacji  wielobajtowej,  tj.
       liczbę bitów zapisanych do s.

       Innym  przypadkiem  jest  sytuacja,  gdy  s  również  nie jest NULL, lecz wc jest szerokim
       znakiem null (L'\0').  Wtedy  funkcja  wcrtomb()  zachowuje  w  s  sekwencję  przesunięcia
       wymaganą  do  przeniesienia  *ps  z  powrotem  do  stanu  początkowego,  a za tą sekwencją
       doklejony będzie bajt '\0'. Aktualizuje stan przesunięcia *ps (tj. przenosi  go  do  stanu
       początkowego)  i  zwraca  długość  sekwencji  przesunięcia  plus  jeden, tj. liczbę bajtów
       zapisanych do s.

       Trzecim przypadek to s równe NULL. Wtedy wc jest ignorowane, a funkcja zwraca

           wcrtomb(buf, L'\0', ps)

       gdzie buf jest wewnętrznym anonimowym buforem.

       We wszystkich powyższych przypadkach, jeśli ps jest NULL, to w jego miejscu  używany  jest
       anonimowy stan, znany tylko funkcji wcrtomb().

WARTOŚĆ ZWRACANA

       Funkcja  wcrtomb() zwraca liczbę bajtów, które zostały (lub zostałyby) zapisane do tablicy
       bajtowej s. Jeśli wc  nie  może  być  reprezentowane  w  sekwencji  wielobajtowej  (według
       bieżących  ustawień  regionalnych),  zwracane  jest  (size_t) -1 i errno jest ustawiane na
       EILSEQ.

ZGODNE Z

       C99.

UWAGI

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

       Podawanie NULL jako ps nie jest bezpieczne dla wątków.

ZOBACZ TAKŻE

       mbsinit(3), wcsrtombs(3)

O STRONIE

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

TŁUMACZENIE

       Autorami polskiego tłumaczenia niniejszej strony podręcznika man są: Przemek  Borys  (PTM)
       <pborys@dione.ids.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ą   3.71
       oryginału.