.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2022 Alejandro Colomar .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH scanf 3 "9. Dezember 2023" "Linux man\-pages 6.06" .SH BEZEICHNUNG scanf, fscanf, vscanf, vfscanf \- Anpassung des Datei\-Eingabeformats .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .P \fBint scanf(const char *restrict \fP\fIformat\fP\fB, …);\fP \fBint fscanf(FILE *restrict \fP\fIdatenstrom\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, …);\fP .P \fB#include \fP .P \fBint vscanf(const char *restrict \fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP \fBint vfscanf(FILE *restrict \fP\fIdatenstrom\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, va_list \fP\fIap\fP\fB);\fP .fi .P .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .P \fBvscanf\fP(), \fBvfscanf\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH BESCHREIBUNG Die Funktionenfamilie \fBscanf\fP() prüft formatierte Eingaben wie \fBsscanf\fP(3), liest aber aus einer \fIDATEI\fP. Die korrekte Verwendung dieser Funktionen ist sehr schwierig und es wird empfohlen, mit \fBfgets\fP(3) oder \fBgetline\fP(3) ganze Zeilen zu lesen und sie später mit \fBsscanf\fP(3) oder noch spezialisierteren Funktionen wie \fBstrtol\fP(3) auszuwerten. .P Die Funktion \fBscanf\fP() liest Eingaben von der Standardeingabe \fIstdin\fP, \fBfscanf\fP liest Eingaben von dem Datenstrom\-Zeiger \fIdatenstrom\fP. .P Die Funktion \fBvfscanf\fP() verhält sich analog zu \fBvfprintf\fP(3) und liest Eingaben von dem Datenstrom\-Zeiger \fIdatenstrom\fP, wobei eine variable Argumentliste von Zeigern benutzt wird (siehe \fBstdarg\fP(3)). Die Funktion \fBvscanf\fP() ist zu \fBvprintf\fP(3) analog und liest aus der Standardeingabe. .SH RÜCKGABEWERT Bei Erfolg geben diese Funktionen die Anzahl der Eingabeelemente zurück, die erfolgreich übereinstimmten und zugewiesen wurden. Dies können weniger sein, als bereitgestellt wurden oder null, wenn ein »matching failure« auftrat. .P Der Wert \fBEOF\fP wird zurückgegeben, wenn das Ende der Eingabe erreicht wird, bevor entweder die erste erfolgreiche Umwandlung oder ein »matching failure« auftrat. \fBEOF\fP wird auch zurückgegeben, wenn ein Lesefehler auftritt. In diesem Fall wird die Fehleranzeige für den Datenstrom gesetzt (siehe \fBferror\fP(3)) und \fIerrno\fP so gesetzt, dass es den Fehler angibt. .SH FEHLER .TP \fBEAGAIN\fP Der Dateideskriptor, der \fIdatenstrom\fP zugrundeliegt, ist als nicht blockierend gekennzeichnet und die Leseaktion würde blockieren. .TP \fBEBADF\fP Der Dateideskriptor, der \fIdatenstrom\fP zugrundeliegt, ist ungültig oder nicht zum Lesen geöffnet. .TP \fBEILSEQ\fP Eingabebyte\-Abfolge bildet kein gültiges Zeichen. .TP \fBEINTR\fP Die Leseaktion wurde durch ein Signal unterbrochen; siehe \fBsignal\fP(7). .TP \fBEINVAL\fP Nicht genug Argumente oder \fIformat\fP ist NULL. .TP \fBENOMEM\fP Speicher aufgebraucht. .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 \fBscanf\fP(), \fBfscanf\fP(), \fBvscanf\fP(), \fBvfscanf\fP() T} Multithread\-Fähigkeit MT\-Sicher locale .TE .SH STANDARDS C11, POSIX.1\-2008. .SH GESCHICHTE C99, POSIX.1\-2001. .SH WARNUNGEN Diese Funktionen erschweren es, Zeilenumbrüche von anderen Leerraumzeichen zu unterscheiden. Dies ist insbesondere für zeilengepufferte Eingabe, wie beim Standardeingabe\-Datenstrom, problematisch. .P Diese Funktionen können keine Fehler nach der letzten, nicht unterdrückten Umwandlungsfestlegung berichten. .SH FEHLER Es ist unmöglich, genau zu bestimmen, wie viele Zeichen diese Funktionen aus dem Eingabedatenstrom verbraucht haben, da sie nur die Anzahl der erfolgreichen Umwandlungen berichten. Falls beispielsweise die Eingabe »123\en\ a« ist, wird \fIscanf(\[dq]%d\ %d\[dq], &a, &b)\fP die Ziffern, den Zeilenumbruch und das Leerzeichen, aber nicht den Buchstaben a verbrauchen. Dies erschwert es, sich von ungültiger Eingabe zu erholen. .SH "SIEHE AUCH" \fBfgets\fP(3), \fBgetline\fP(3), \fBsscanf\fP(3) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother , Chris Leick und Helge Kreutzmann 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 .