Provided by: manpages-pl-dev_4.13-4_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 5.10 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  są:  Przemek  Borys  <pborys@dione.ids.pl>,
       Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

       Niniejsze  tłumaczenie  jest  wolną  dokumentacją.  Bliższe informacje o warunkach licencji można uzyskać
       zapoznając  się  z  GNU General Public License w wersji 3  lub  nowszej.   Nie   przyjmuje   się   ŻADNEJ
       ODPOWIEDZIALNOŚCI.

       Błędy  w  tłumaczeniu  strony  podręcznika  prosimy  zgłaszać  na  adres  listy  dyskusyjnej manpages-pl-
       list@lists.sourceforge.net.

GNU                                              6 marca 2019 r.                                      WCRTOMB(3)