.\" -*- coding: UTF-8 -*-
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" %%%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 MBTOWC 3 "6 marca 2019 r." GNU "Podręcznik programisty Linuksa"
.SH NAZWA
mbtowc \- przekształca ciąg wielobajtowy na znak szeroki
.SH SKŁADNIA
.nf
\fB#include <stdlib.h>\fP
.PP
\fBint mbtowc(wchar_t *\fP\fIpwc\fP\fB, const char *\fP\fIs\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\e0\(aq), funkcja
zwraca liczbę bajtów \fIs\fP, które zostały zużyte; w pozostałych przypadkach
zwracane jest 0.
.PP
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ęć.
.PP
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.
.PP
.\" 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.
.PP
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;
lb lb lb
l l l.
Interfejs	Atrybut	Wartość
T{
\fBmbtowc\fP()
T}	Bezpieczeństwo wątkowe	MT\-Unsafe race
.TE
.SH "ZGODNE Z"
POSIX.1\-2001, POSIX.1\-2008, C99.
.SH UWAGI
Zachowanie \fBmbtowc\fP() zależy od kategorii \fBLC_CTYPE\fP bieżących ustawień
regionalnych.
.PP
Funkcja ta nie jest przystosowana do wielowątkowości. Funkcja
\fBmbrtowc\fP(3)zapewnia lepszy interfejs przy tym samym działaniu.
.SH "ZOBACZ TAKŻE"
\fBMB_CUR_MAX\fP(3), \fBmblen\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3),
\fBwcstombs\fP(3), \fBwctomb\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ą:
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 .
