.\" -*- 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 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 \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.04 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/. .SH TŁUMACZENIE Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Andrzej Krzysztofowicz , Robert Luberda i Michał Kułach . 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. Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres .MT manpages-pl-list@lists.sourceforge.net .ME .