Udostępnij za pośrednictwem


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_errlisti _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.

fgetwsjest 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 Rutynowych _UNICODE i _MBCS niezdefiniowane _MBCS Zdefiniowane _UNICODE Zdefiniowane
_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 );
   }
}

Wejście: crt_fgets.txt

Line one.
Line two.

Wynik

Line one.

Zobacz też

We/Wy strumienia
fputs, fputws
gets, _getws
puts, _putws