Функция fgets

Прототип функции fgets:

char * fgets( char * string, int num, FILE * filestream );

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Описание

Функция fgets считывает символы из потока и сохраняет их в виде строки в параметр string до тех пор пока не наступит конец строки или пока не будет достигнут конец файла.

Символ новой строки прекращает работу функции fgets, но он считается допустимым символом, и поэтому он копируется в строку string.

Нулевой символ автоматически добавляется в строку str после прочитанных символов, чтобы сигнализировать о конце строки.

Параметры:

  • string
    Указатель на массив типа char, в который сохраняются считанные символы.
  • num
    Максимальное количество символов для чтения, включая нулевой символ.
  • filestream
    Указатель на объект типа FILE, который идентифицирует поток, из которого считываются символы.

Для чтения из стандартного ввода, stdin может быть использован в качестве этого параметра.

Возвращаемое значение

В случае успеха, функция возвращает указатель на string. Если конец файла был достигнут и ни один символ не был прочитан, содержимое string остается неизменными и возвращается нулевой указатель. Если происходит ошибка, возвращается нулевой указатель.
Используйте функции ferror или feof для проверки, произошла ошибка или был достигнут конец-в-файла.

Пример: исходный код программы

//пример использования функции fgets

#include <cstdio>

int main()
{
   FILE * ptrFile = fopen("file.txt" , "r");
   char mystring [100];

   if (ptrFile == NULL) perror("Ошибка открытия файла");
   else
   {
     if ( fgets(mystring, 100, ptrFile) != NULL ) // считать символы из файла
       puts(mystring);  // вывод на экран
     fclose (ptrFile);
   }
   return 0;
}

Пример работы программы

Этот пример читает первую строку file.txt или первые 99 символов, в зависимости от того, какое из событий наступит раньше, и выводит их на экран.

Автор: Marienko L.
Дата: 15.09.2012
Поделиться:

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.