Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
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.
Output
Line one.