.\" -*- coding: UTF-8 -*-
'\" t
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" SPDX-License-Identifier: GPL-2.0-or-later
.\"
.\" References consulted:
.\"   GNU glibc-2 source code and manual
.\"   Dinkumware C library reference http://www.dinkumware.com/
.\"   OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"   ISO/IEC 9899:1999
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH wcrtomb 3 "5 lutego 2023 r." "Linux man\-pages 6.03" 
.SH NAZWA
wcrtomb \- konwertuje szerokie znaki na sekwencje wielobajtowe
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <wchar.h>\fP
.PP
\fBsize_t wcrtomb(char *restrict \fP\fIs\fP\fB, wchar_t \fP\fIwc\fP\fB, mbstate_t *restrict \fP\fIps\fP\fB);\fP
.fi
.SH OPIS
Podstawowym zastosowaniem tej funkcji jest przypadek, gdy \fIs\fP nie jest NULL
i \fIwc\fP nie jest szerokim znakiem null (L\[aq]\e0\[aq]). Wtedy funkcja
\fBwcrtomb\fP() konwertuje szeroki znak \fIwc\fP na jego wielobajtową
reprezentację i zachowuje ją na początku tablicy znakowej, wskazywanej przez
\fIs\fP. Aktualizuje stan przesunięcia \fI*ps\fP i zwraca długość reprezentacji
wielobajtowej, tj. liczbę bitów zapisanych do \fIs\fP.
.PP
Innym przypadkiem jest sytuacja, gdy \fIs\fP również nie jest NULL, lecz \fIwc\fP
jest szerokim znakiem null (L\[aq]\e0\[aq]). Wtedy funkcja \fBwcrtomb\fP()
zachowuje w \fIs\fP sekwencję przesunięcia wymaganą do przeniesienia \fI*ps\fP z
powrotem do stanu początkowego, a za tą sekwencją doklejony będzie bajt
\[aq]\e0\[aq]. Aktualizuje stan przesunięcia \fI*ps\fP (tj. przenosi go do
stanu początkowego) i zwraca długość sekwencji przesunięcia plus jeden,
tj. liczbę bajtów zapisanych do \fIs\fP.
.PP
Trzecim przypadek to \fIs\fP równe NULL. Wtedy \fIwc\fP jest ignorowane, a funkcja
zwraca
.PP
.in +4n
.EX
wcrtomb(buf, L\[aq]\e0\[aq], ps)
.EE
.in
.PP
gdzie \fIbuf\fP jest wewnętrznym anonimowym buforem.
.PP
We wszystkich powyższych przypadkach, jeśli \fIps\fP jest NULL, to w jego
miejscu używany jest anonimowy stan, znany tylko funkcji \fBwcrtomb\fP().
.SH "WARTOŚĆ ZWRACANA"
Funkcja \fBwcrtomb\fP() zwraca liczbę bajtów, które zostały (lub zostałyby)
zapisane do tablicy bajtowej \fIs\fP. Jeśli \fIwc\fP nie może być reprezentowane w
sekwencji wielobajtowej (według bieżących ustawień regionalnych), zwracane
jest \fI(size_t)\ \-1\fP i \fIerrno\fP jest ustawiane na \fBEILSEQ\fP.
.SH ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku
\fBattributes\fP(7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
\fBwcrtomb\fP()
T}	Bezpieczeństwo wątkowe	MT\-Unsafe race:wcrtomb/!ps
.TE
.hy
.ad
.sp 1
.SH STANDARDY
POSIX.1\-2001, POSIX.1\-2008, C99.
.SH UWAGI
Zachowanie \fBwcrtomb\fP() zależy od kategorii \fBLC_CTYPE\fP bieżących ustawień
regionalnych.
.PP
Podawanie NULL jako \fIps\fP nie jest bezpieczne dla wątków.
.SH "ZOBACZ TAKŻE"
\fBmbsinit\fP(3), \fBwcsrtombs\fP(3)
.PP
.SH 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>
.
.PP
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach
licencji można uzyskać zapoznając się z
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License w wersji 3
.UE
lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
.PP
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy
dyskusyjnej
.MT manpages-pl-list@lists.sourceforge.net
.ME .
