Справочник по C/C++
fgets()

#include <stdio.h>
char *fgets(char *str, int num, FILE * stream);

Описание

Читает символы из указанного файлового потока и помещает в символьный массив

Функция fgets() читает из входного потока stream не более (num - 1) символов и помещает их в массив символов, адресуемый указателем str. Символы читаются до тех пор, пока не будет прочитан символ новой строки или значение EOF либо пока не будет достигнут заданный предел. По завершении чтения символов сразу за последним прочитанным символом размещается нулевой символ. Символ новой строки сохраняется и остается частью строки, адресуемой элементом str.

При успешном выполнении функция fgets() возвращает значение str, а при неудачном (в случае сбоя) — нулевой указатель. В случае ошибки содержимое массива, к которому отсылает указатель str, не определено. Поскольку функция fgets() возвращает нулевой указатель и при возникновении ошибки, и при достижении конца файла, то для выяснения, что же произошло на самом деле, необходимо использовать функцию feof() или ferror().