wcrtomb(3)

NAZWA
wcrtomb - konwertuje szerokie znaki na sekwencje wielobajtowe

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <wchar.h>

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

OPIS
The main case for this function is when s is not NULL and wc is not a null wide character (L'\0'). In this case, the wcrtomb() function converts the wide character wc to its multibyte representation and stores it at the beginning of the character array pointed to by s. It updates the shift state *ps, and returns the length of said multibyte representation, that is, the number of bytes written at s.

A different case is when s is not NULL, but wc is a null wide character (L'\0'). In this case, the wcrtomb() function stores at the character array pointed to by s the shift sequence needed to bring *ps back to the initial state, followed by a '\0' byte. It updates the shift state *ps (i.e., brings it into the initial state), and returns the length of the shift sequence plus one, that is, the number of bytes written at 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).
Interfejs | Atrybut | Wartość
wcrtomb() | Bezpieczeństwo wątkowe | MT-Unsafe race:wcrtomb/!ps

STANDARDY
C11, POSIX.1-2008.

HISTORIA
POSIX.1-2001, 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)

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.