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

ATRYBUTY

       Informacje  o  pojęciach  używanych  w  tym  rozdziale   można   znaleźć   w   podręczniku
       attributes(7).

       ┌──────────┬────────────────────────┬────────────────────────────┐
       │InterfejsAtrybutWartość                    │
       ├──────────┼────────────────────────┼────────────────────────────┤
       │wcrtomb() │ Bezpieczeństwo wątkowe │ MT-Unsafe race:wcrtomb/!ps │
       └──────────┴────────────────────────┴────────────────────────────┘

ZGODNE Z

       POSIX.1-2001, POSIX.1-2008, 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  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ą: 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ą    4.07
       oryginału.