fgets
, fgetws
Pobieranie ciągu ze strumienia.
Składnia
char *fgets(
char *str,
int numChars,
FILE *stream
);
wchar_t *fgetws(
wchar_t *str,
int numChars,
FILE *stream
);
Parametry
str
Lokalizacja przechowywania danych.
numChars
Maksymalna liczba znaków do odczytania.
stream
Wskaźnik do FILE
struktury.
Wartość zwracana
Każda z tych funkcji zwraca wartość str
. NULL
Jest zwracany, aby wskazać błąd lub warunek końca pliku. Użyj feof
polecenia lub ferror
określ, czy wystąpił błąd. Jeśli str
wskaźnik stream
o wartości null lub numChars
jest mniejszy lub równy zero, ta funkcja wywołuje nieprawidłową procedurę obsługi parametrów zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, jest ustawione na EINVAL
, errno
a funkcja zwraca wartość NULL
.
Aby uzyskać więcej informacji na temat kodów zwracanych, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Uwagi
Funkcja fgets
odczytuje ciąg z argumentu wejściowego stream
i przechowuje go w pliku str
. fgets
odczytuje znaki z bieżącego położenia strumienia do i w tym pierwszy znak nowego wiersza, na końcu strumienia lub do momentu, aż liczba odczytanych znaków będzie równa numChars
- 1, w zależności od tego, co nastąpi wcześniej. Wynik przechowywany w pliku str
jest dołączany z znakiem null. Znak nowego wiersza, jeśli zostanie odczytany, jest uwzględniony w ciągu.
fgetws
jest wersją o szerokim znaku .fgets
fgetws
Odczytuje argument str
szerokobajtowy jako ciąg znaków wielobajtowych lub jako ciąg o szerokim znaku, gdy stream
jest otwierany w trybie tekstowym lub w trybie binarnym, odpowiednio. Aby uzyskać więcej informacji na temat używania trybów tekstowych i binarnych w standardach Unicode i wielobajtowych strumienia we/wy, zobacz We/Wy i We/Wy w formacie tekstowym i binarnym w plikach tekstowych i binarnych w trybie tekstowym i binarnym.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
TCHAR.H rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_fgetts |
fgets |
fgets |
fgetws |
Wymagania
Function | Wymagany nagłówek |
---|---|
fgets |
<stdio.h> |
fgetws |
<stdio.h> lub <wchar.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Przykład
// 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 );
}
}
Wkład: crt_fgets.txt
Line one.
Line two.
Wynik
Line one.