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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   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⟩.