fscanf_s, fwscanf_s
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Funktionen für die formatierte Eingabe/Ausgabe
Prototyp
int fscanf_s(FILE * restrict stream, const char * restrict format, [, address, ...]);
int fwscanf_s(FILE * restrict stream, const wchar_t * restrict format, [, address, ...]);
Beschreibung
Ersetzt fscanf, fwscanf und fügt Sicherheitserweiterungen hinzu.
fscanf_s untersucht Zeichen für Zeichen eine Reihe von Eingabefeldern, die aus einem durch stream bezeichneten dtream gelesen werden. Danach wird jedes Feld entsprechend den Formatbezeichnern formatiert, die in dem im Parameter format an fscanf übergebenen Format-String enthalten sind. Schließlich speichert fscanf die formatierte Eingabe unter einer der Adressen, die in dem auf format folgenden Argument übergeben wurden. Die Anzahl der Formatbezeichner und Adressen muss der Anzahl der Eingabefelder entsprechen.
Hinweis: Einzelheiten zu den Formatbezeichnern finden Sie unter scanf-Formatbezeichner.
Rückgabewert
fscanf_s gibt die Anzahl erfolgreich untersuchter, konvertierter und gespeicherter Eingabefelder zurück. Dieser Wert kann Null sein, wenn beim ersten Feld ein Zuordnungsfehler auftrat.
Wenn vor einer Konvertierung ein Fehler auftritt, ist der Rückgabewert das Makro EOF.
Beispiel
#include <stdlib.h> #include <stdio.h> int main(void) { int i; printf("Input an integer: "); /* Read an integer from the standard input stream */ if (fscanf_s(stdin, "%d", &i)) printf("The integer read was: %i\n", i); else { fprintf(stderr, "Error reading an integer from stdin.\n"); exit(1); } return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |
+ |
+ |
+ |