Функции библиотеки C -fgets()

Стандартная библиотека C - <stdio.h>

Описание

Функции библиотеки Cchar *fgets(char *str, int n, FILE *stream)Считывает строку из указанного потока и сохраняет её вstrв строке, на которую он указывает. При чтении(n-1)Когда прочитано n символов, или встречен символ новой строки, или достигнут конец файла, функция останавливается, в зависимости от того, что наступит раньше.

Объявление

Ниже приведено объявление функции fgets().

char *fgets(char *str, int n, FILE *stream)

Параметр

  • str-- Это указатель на массив символов, в котором хранится строка для чтения.
  • n-- Это максимальное число символов для чтения (включая завершающий нулевой символ). Обычно используется длина массива, передаваемого как str.
  • stream-- Это указатель на объект FILE, который идентифицирует поток, из которого должны считываться символы.

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

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

Если возникает ошибка, возвращается нулевой указатель.

Пример

В следующем примере демонстрируется использование функции fgets().

Пример

#include <stdio.h>

int main()
{
   FILE *fp;
   char str[60];

   /* Открыть файл для чтения */
   fp = fopen("file.txt" , "r");
   if(fp == NULL) {
      perror("Ошибка файла");
      return(-1);
   }
   if( fgets (str, 60, fp)!=NULL ) {
      /* Записать содержимое в стандартный вывод stdout */
      puts(str);
   }
   fclose(fp);
   
   return(0);
}

Предположим, у нас есть текстовый файлfile.txt, содержимое которого выглядит следующим образом. Этот файл будет использоваться в качестве входных данных в примере:

We are in 2014

Давайте скомпилируем и запустим приведённую выше программу, которая выдаст следующий результат:

We are in 2014

Стандартная библиотека C - <stdio.h>

Другие расширения