.\" -*- coding: UTF-8 -*- '\" t .\" Copyright, Bruno Haible .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH wcrtomb 3 "8 lutego 2026 r." "Linux man\-pages 6.18" .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 \fP .P \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]\[rs]0\[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. .P Innym przypadkiem jest sytuacja, gdy \fIs\fP również nie jest NULL, lecz \fIwc\fP jest szerokim znakiem null (L\[aq]\[rs]0\[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]\[rs]0\[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. .P Trzecim przypadek to \fIs\fP równe NULL. Wtedy \fIwc\fP jest ignorowane, a funkcja zwraca .P .in +4n .EX wcrtomb(buf, L\[aq]\[rs]0\[aq], ps) .EE .in .P gdzie \fIbuf\fP jest wewnętrznym anonimowym buforem. .P 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(). .P Do \fIs\fP zostanie zapisanych co najwyżej \fBMB_CUR_MAX\fP bajtów. Zadaniem programisty jest upewnienie się, że w \fIs\fP jest wystarczająco dużo miejsca do przechowania sekwencji wielobajtowej. .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). .TS allbox; lbx lb lb l l l. Interfejs Atrybut Wartość T{ .na .nh \fBwcrtomb\fP() T} Bezpieczeństwo wątkowe MT\-Unsafe race:wcrtomb/!ps .TE .SH STANDARDY C11, POSIX.1\-2008. .SH HISTORIA POSIX.1\-2001, C99. .SH UWAGI Zachowanie \fBwcrtomb\fP() zależy od kategorii \fBLC_CTYPE\fP bieżących ustawień regionalnych. .P 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 Tłumaczenie niniejszej strony podręcznika: Przemek Borys , Robert Luberda i Michał Kułach . .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 .