.\" -*- 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 mbtowc 3 "15 czerwca 2024 r." "Linux man\-pages 6.9.1" 
.SH NAZWA
mbtowc \- przekształca ciąg wielobajtowy na znak szeroki
.SH BIBLIOTEKA
Standardowa biblioteka C (\fIlibc\fP, \fI\-lc\fP)
.SH SKŁADNIA
.nf
\fB#include <stdlib.h>\fP
.P
\fBint mbtowc(wchar_t *restrict \fP\fIpwc\fP\fB, const char \fP\fIs\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB);\fP
.fi
.SH OPIS
Podstawową dla tej funkcji jest sytuacja, gdy \fIs\fP jest różne od NULL i
\fIpwc\fP jest różne od NULL. W tym przypadku, funkcja \fBmbtowc\fP() sprawdza co
najwyżej \fIn\fP bajtów ciągu wielobajtowego, zaczynając od \fIs\fP, wydziela
następny pełny znak wielobajtowy, przetwarza go na znak szeroki i umieszcza
w \fI*pwc\fP. Aktualizuje wewnętrzny, znany tylko funkcji \fBmbtowc\fP(), stan
przesunięty. Jeśli \fIs\fP nie wskazuje na bajt null (\[aq]\[rs]0\[aq]),
funkcja zwraca liczbę bajtów \fIs\fP, które zostały zużyte; w pozostałych
przypadkach zwracane jest 0.
.P
Jeśli \fIn\fP bajtów, zaczynając od \fIs\fP, nie zawiera pełnego znaku
wielobajtowego lub jeśli zawierają niepoprawny ciąg wielobajtowy,
\fBmbtowc\fP() zwraca \fI\-1\fP. Może się to zdarzyć, nawet gdy \fIn\fP >=
\fIMB_CUR_MAX\fP, jeśli wielobajtowy łańcuch zawiera nadmiarowe ciągi
przesunięć.
.P
Inna sytuacja ma miejsce, gdy \fIs\fP jest różne od NULL, ale \fIpwc\fP jest równe
NULL. Wówczas funkcja \fBmbtowc\fP() zachowuje się jak powyżej, z tym
wyjątkiem, że nie przechowuje przetworzonego znaku szerokiego w pamięci.
.P
.\" The Dinkumware doc and the Single UNIX specification say this, but
.\" glibc doesn't implement this.
Trzecia sytuacja występuje, gdy \fIs\fP jest równe NULL. Wówczas \fIpwc\fP i \fIn\fP
są ignorowane. Funkcja \fBmbtowc\fP() sprowadza stan przesunięty, znany tylko
tej funkcji, do stanu wyjściowego i zwraca wartość różną od zera, gdy
kodowanie zawiera nietrywialne stany przesunięte, lub zero, jeśli kodowanie
jest bezstanowe.
.SH "WARTOŚĆ ZWRACANA"
Jeśli \fIs\fP jest różne od NULL, funkcja \fBmbtowc\fP() zwraca liczbę zużytych
bajtów, zaczynając od \fIs\fP; zwraca 0, jeśli \fIs\fP wskazuje na bajt null lub
\-1 w przypadku błędu.
.P
Jeśli \fIs\fP jest równe NULL, funkcja \fBmbtowc\fP zwraca wartość różną od zera,
gdy kodowanie posiada nietrywialne stany przesunięte, a zero, gdy kodowanie
jest bezstanowe.
.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
\fBmbtowc\fP()
T}	Bezpieczeństwo wątkowe	MT\-niebezpieczne race
.TE
.SH WERSJE
Funkcja ta nie jest przystosowana do wielowątkowości. Funkcja \fBmbrtowc\fP(3)
zapewnia lepszy interfejs przy tym samym działaniu.
.SH STANDARDY
C11, POSIX.1\-2008.
.SH HISTORIA
POSIX.1\-2001, C99.
.SH UWAGI
Zachowanie \fBmbtowc\fP() zależy od kategorii \fBLC_CTYPE\fP bieżących ustawień
regionalnych.
.SH "ZOBACZ TAKŻE"
\fBMB_CUR_MAX\fP(3), \fBmblen\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3),
\fBwcstombs\fP(3), \fBwctomb\fP(3)
.PP
.SH TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika:
Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.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 .
