.\" -*- 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. Juni 2024" "Linux man\-pages 6.9.1" 
.SH BEZEICHNUNG
mbtowc \- Eine Multibyte\-Sequenz in ein weites Zeichen umwandeln
.SH BIBLIOTHEK
Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP)
.SH ÜBERSICHT
.nf
\fB#include <stdlib.h>\fP
.P
\fBint mbtowc(wchar_t *restrict \fP\fIzwz\fP\fB, const char \fP\fIs\fP\fB[restrict .\fP\fIn\fP\fB], size_t \fP\fIn\fP\fB);\fP
.fi
.SH BESCHREIBUNG
Der Haupteinsatzfall für diese Funktion ist, wenn \fIs\fP und \fIzwz\fP nicht NULL
sind. In diesem Fall untersucht die Funktion \fBmbtowc\fP() höchstens \fIn\fP byte
einer bei \fIs\fP beginnenden Multibyte\-Zeichenkette, extrahiert das nächste
vollständige Multibyte\-Zeichen, wandelt es in ein weites Zeichen um und
speichert es unter \fI*zwz\fP. Es aktualisiert den nur der Funktion \fBmbtowc\fP()
bekannten internen Verschiebezustand. Falls \fIs\fP nicht auf ein Null\-Byte
(»\[rs]0«) zeigt, liefert es die Anzahl der Byte zurück, die von \fIs\fP
verbraucht wurden, andernfalls liefert sie 0 zurück.
.P
Falls die \fIn\fP bei \fIs\fP beginnenden Byte kein vollständiges
Multibyte\-Zeichen oder eine ungültige Multibyte\-Sequenz enthalten, liefert
\fBmbtowc\fP() \-1 zurück. Dies kann passieren, selbst wenn \fIn\fP >=
\fIMB_CUR_MAX\fP, falls die Multibyte\-Sequenz redundante Verschiebezustände
enthält.
.P
Ein anderer Fall liegt vor, wenn \fIs\fP nicht NULL ist, aber \fIzwz\fP NULL
ist. In diesem Fall verhält sich die Funktion \fBmbtowc\fP() wie oben, außer
dass sie die umgewandelten weiten Zeichen nicht im Speicher speichert.
.P
.\" The Dinkumware doc and the Single UNIX specification say this, but
.\" glibc doesn't implement this.
Ein dritter Fall liegt vor, wenn \fIs\fP NULL ist. In diesem Fall werden \fIzwz\fP
und \fIn\fP ignoriert. Die Funktion \fBmbtowc\fP() setzt den nur ihr bekannten
internen Verschiebezustand auf den Anfangszustand zurück und liefert einen
von Null verschiedenen Wert zurück, falls die Kodierung einen nicht
trivialen Verschiebezustand enthält oder Null, falls die Kodierung
zustandslos ist.
.SH RÜCKGABEWERT
Falls \fIs\fP nicht NULL ist, dann liefert die Funktion \fBmbtowc\fP() die Anzahl
der bei \fIs\fP beginnenden verbrauchten Byte oder 0, falls \fIs\fP auf ein
Null\-Byte zeigt oder \-1 im Fehlerfall, zurück.
.P
Falls \fIs\fP NULL ist, dann liefert die Funktion \fBmbtowc\fP() einen von Null
verschiedenen Wert zurück, falls die Kodierung einen nicht trivialen
Verschiebezustand hat oder Null, falls die Kodierung zustandslos ist.
.SH ATTRIBUTE
Siehe \fBattributes\fP(7) für eine Erläuterung der in diesem Abschnitt
verwandten Ausdrücke.
.TS
allbox;
lbx lb lb
l l l.
Schnittstelle	Attribut	Wert
T{
.na
.nh
\fBmbtowc\fP()
T}	Multithread\-Fähigkeit	MT\-Unsicher race
.TE
.SH VERSIONEN
Diese Funktion ist nicht Multithread\-sicher. Die Funktion \fBmbrtowc\fP(3)
stellt eine bessere Schnittstelle für die gleiche Funktionalität bereit.
.SH STANDARDS
C11, POSIX.1\-2008.
.SH GESCHICHTE
POSIX.1\-2001, C99.
.SH ANMERKUNGEN
Das Verhalten von \fBmbtowc\fP() hängt von der Kategorie \fBLC_CTYPE\fP der
aktuellen Locale ab.
.SH "SIEHE AUCH"
\fBMB_CUR_MAX\fP(3), \fBmblen\fP(3), \fBmbrtowc\fP(3), \fBmbstowcs\fP(3),
\fBwcstombs\fP(3), \fBwctomb\fP(3)
.PP
.SH ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von
Helge Kreutzmann <debian@helgefjell.de>
erstellt.
.PP
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License Version 3
.UE
oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
.PP
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an die
.MT debian-l10n-german@lists.debian.org
Mailingliste der Übersetzer
.ME .