Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

fscanf, _fscanf_l, fwscanf, _fwscanf_l

Liest formatierte Daten aus einem Stream. Sicherere Versionen dieser Funktionen sind verfügbar. Weitere Informationen finden Sie unter fscanf_s, _fscanf_s_l, fwscanf_s, _fwscanf_s_l.

int fscanf( 
   FILE *stream,
   const char *format [,
   argument ]... 
);
int _fscanf_l( 
   FILE *stream,
   const char *format,
   locale_t locale [,
   argument ]... 
);
int fwscanf( 
   FILE *stream,
   const wchar_t *format [,
   argument ]... 
);
int _fwscanf_l( 
   FILE *stream,
   const wchar_t *format,
   locale_t locale [,
   argument ]... 
);

stream

Zeiger auf eine FILE-Struktur.

format

Formatsteuerzeichenfolge.

argument

Optionale Argumente.

locale

Das zu verwendende Gebietsschema.

Jede dieser Funktionen gibt die Anzahl der erfolgreich konvertierten und zugewiesenen Felder zurück. Der Rückgabewert schließt keine Felder ein, die gelesen wurden, denen jedoch kein Wert zugewiesen wurde. Ein Rückgabewert von 0 gibt an, dass keine Felder zugewiesen wurden. Wenn ein Fehler auftritt oder wenn das Ende des Dateidatenstroms vor der ersten Konvertierung erreicht ist, ist der Rückgabewert EOF für fscanf und fwscanf.

Diese Funktionen überprüfen ihre Parameter. Wenn stream oder format ein NULL-Zeiger ist, wird der Handler für ungültige Parameter aufgerufen, wie in Parametervalidierungbeschrieben. Wenn die Ausführung fortgesetzt werden darf, geben diese Funktionen EOF zurück und setzen errno auf EINVAL.

Die fscanf-Funktion liest Daten aus der aktuellen Position von stream in die Positionen, die durch argument angegeben werden (sofern vorhanden). Jedes argument muss ein Zeiger auf eine Variable eines Typs sein, der dem korrespondierenden Typspezifizierer in format entspricht. format steuert die Interpretation der Eingabefelder und weist gleiche Form und Funktion wie das format-Argument von scanf auf. Unter scanf finden Sie eine Beschreibung von format.

fwscanf ist eine Breitzeichen-Version von fscanf. Das format Argument von fwscanf ist eine Zeichenfolge mit Breitzeichen. Diese Funktionen verhalten sich identisch, wenn der Stream im ANSI-Modus geöffnet ist. fscanf unterstützt derzeit nicht die Eingaben von einem UNICODE-Stream.

Die Versionen dieser Funktionen mit dem _l-Suffix sind beinahe identisch, verwenden jedoch das ihnen übergebenen Gebietsschemaparameter anstelle des aktuellen Threadgebietsschemas.

Zuweisung generischer Textroutinen

TCHAR.H-Routine

_UNICODE & _MBCS nicht definiert

_MBCS definiert

_UNICODE definiert

_ftscanf

fscanf

fscanf

fwscanf

_ftscanf_l

_fscanf_l

_fscanf_l

_fwscanf_l

Weitere Informationen finden Sie unter Formatangaben-Felder – scanf Features und Funktionen wscanf.

Funktion

Erforderlicher Header

fscanf , _fscanf_l

<stdio.h>

fwscanf , _fwscanf_l

<stdio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität in der Einführung.

// crt_fscanf.c
// compile with: /W3
// This program writes formatted
// data to a file. It then uses fscanf to
// read the various data back from the file.
 
#include <stdio.h>

FILE *stream;

int main( void )
{
   long l;
   float fp;
   char s[81];
   char c;

   if( fopen_s( &stream, "fscanf.out", "w+" ) != 0 )
      printf( "The file fscanf.out was not opened\n" );
   else
   {
      fprintf( stream, "%s %ld %f%c", "a-string", 
               65000, 3.14159, 'x' );
      // Security caution!
      // Beware loading data from a file without confirming its size,
      // as it may lead to a buffer overrun situation.

      // Set pointer to beginning of file:
      fseek( stream, 0L, SEEK_SET );

      // Read data back from file:
      fscanf( stream, "%s", s );   // C4996
      fscanf( stream, "%ld", &l ); // C4996

      fscanf( stream, "%f", &fp ); // C4996
      fscanf( stream, "%c", &c );  // C4996
      // Note: fscanf is deprecated; consider using fscanf_s instead

      // Output data read: 
      printf( "%s\n", s );
      printf( "%ld\n", l );
      printf( "%f\n", fp );
      printf( "%c\n", c );

      fclose( stream );
   }
}

  a-string 65000 3.141590 x

Community-Beiträge

HINZUFÜGEN
Anzeigen: