fgets, fgetws

Ruft eine Zeichenfolge aus einem Stream ab

Syntax

char *fgets(
   char *str,
   int numChars,
   FILE *stream
);
wchar_t *fgetws(
   wchar_t *str,
   int numChars,
   FILE *stream
);

Parameter

str
Speicherort für Daten.

numChars
Die maximale Anzahl der zu lesenden Zeichen

stream
Zeiger zur FILE -Struktur.

Rückgabewert

Jede dieser Funktion gibt str zurück. NULL wird zurückgegeben, um einen Fehler oder eine Dateiendebedingung anzugeben. Verwenden Sie feof oder ferror, um zu bestimmen, ob ein Fehler aufgetreten ist. Wenn str oder stream ein Nullzeiger ist oder numChars kleiner oder gleich Null ist, ruft diese Funktion den ungültigen Parameterhandler auf, wie in der Parameterüberprüfung beschrieben. Wenn die weitere Ausführung zugelassen wird, wird errno auf EINVAL festgelegt, und die Funktion gibt NULLbeschrieben.

Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno, _sys_errlistund _sys_nerr.errno

Hinweise

Die Funktion fgets liest eine Zeichenfolge aus dem stream-Argument der Eingabe und speichert es in str. fgets liest Zeichen aus der aktuellen Datenstromposition bis einschließlich des ersten Neuenlinezeichens bis zum Ende des Datenstroms oder bis zur Anzahl der gelesenen numChars Zeichen gleich - 1, je nachdem, was zuerst kommt. Dem in str gespeicherte Ergebnis wird ein Zeichen NULL angefügt. Das Zeilenumbruchzeichen wird, wenn es gelesen wird, in die Zeichenfolge aufgenommen.

fgetws ist eine Breitzeichenversion von fgets.

fgetws liest das Argument str "Breitzeichen" als Multibyte-Zeichenfolge oder als Zeichenfolge mit breitem Zeichen, wenn stream sie im Textmodus oder im Binärmodus geöffnet wird. Weitere Informationen zur Verwendung von Text- und Binärmodi in Unicode und Multibyte-Stream-I/O finden Sie unter "Text- und Binärmodusdatei-E/A " und "Unicode-Datenstrom-E/A" im Text- und Binärmodus.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.

Generische Textroutinzuordnungen

TCHAR.H Routine _UNICODE und _MBCS nicht definiert _MBCS Definiert _UNICODE Definiert
_fgetts fgets fgets fgetws

Anforderungen

Funktion Erforderlicher Header
fgets <stdio.h>
fgetws <stdio.h> oder <wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

// crt_fgets.c
// This program uses fgets to display
// the first line from a file.

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\numChars" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

Eingabe: crt_fgets.txt

Line one.
Line two.

Ausgabe

Line one.

Siehe auch

Stream-E/A
fputs, fputws
gets, _getws
puts, _putws