.\" -*- coding: UTF-8 -*- .\" Copyright (c) Bruno Haible .\" .\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" %%%LICENSE_END .\" .\" 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 "6 marca 2019 r." GNU "Podręcznik programisty Linuksa" .SH NAZWA wcrtomb \- konwertuje szerokie znaki na sekwencje wielobajtowe .SH SKŁADNIA .nf \fB#include \fP .PP \fBsize_t wcrtomb(char *\fP\fIs\fP\fB, wchar_t \fP\fIwc\fP\fB, mbstate_t *\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 wcrtomb(buf, L\(aq\e0\(aq, ps) .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). .TS allbox; lb lb lbw26 l l l. Interfejs Atrybut Wartość T{ \fBwcrtomb\fP() T} Bezpieczeństwo wątkowe MT\-Unsafe race:wcrtomb/!ps .TE .sp 1 .SH "ZGODNE Z" 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) .SH "O STRONIE" Angielska wersja tej strony pochodzi z wydania 5.10 projektu Linux \fIman\-pages\fP. 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/. .PP .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: 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 .