fscanf, fwscanf

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu stdio.h - Index


Header-Datei

stdio.h

Kategorie

Eingabe-/Ausgaberoutinen

Prototyp

int fscanf(FILE *stream, const char *format[, address, ...]);

int fwscanf(FILE *stream, const wchar_t *format[, address, ...]);

Beschreibung

Untersucht und formatiert Eingaben aus einem Stream.

fscanf untersucht Zeichen für Zeichen eine Reihe von Eingabefeldern, die aus einem Stream gelesen werden. Darauf 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 ihr in dem Argument übergeben wurde, das auf das Argument format folgt. Die Anzahl der Formatbezeichner und Adressen muss der Anzahl der Eingabefelder entsprechen.

Anmerkung:  Einzelheiten zu den Formatbezeichnern finden Sie unter scanf-Formatbezeichner.

fscanf kann die Untersuchung eines bestimmten Feldes abbrechen, bevor das normale Feldendezeichen (Whitespace-Zeichen) erreicht ist, oder kann aus verschiedenen Gründen die gesamte Verarbeitung beenden. Eine Erläuterung der möglichen Gründe finden Sie unter scanf.

Rückgabewert

fscanf gibt die Anzahl erfolgreich untersuchter, konvertierter und gespeicherter Eingabefelder zurück. Die untersuchten Felder, die nicht gespeichert wurden, werden nicht gezählt.

Versucht fscanf über das Dateiende hinaus zu lesen, wird EOF zurückgegeben. Wurden keine Felder gespeichert, ist der Rückgabewert 0.

Beispiel

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
   int i;
   printf("Input an integer: ");
   /* einen Integer aus dem
      Standardeingabe-Stream lesen */
   if (fscanf(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++

+

+

+

+

Siehe auch