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 NULL
beschrieben.
Weitere Informationen zu Rückgabecodes finden Sie unter , , _doserrno
, _sys_errlist
und _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.