Считать строку символов из потока
#include <stdio.h>char * fgets( char *buf,size_t n,FILE *fp );
libc
Функция fgets() считывает строку символов из потока, определяемого fp, и размещает ее в массиве, определяемом buf.
Чтение символов заканчивается, если:
Символ новой строки не отбрасывается. Нулевой символ помещается сразу после последнего символа, считанного в массив.
Не стоит рассчитывать, что символ новой строки будет в каждой строке, считанной fgets(). Символ новой строки может отсутствовать, если перед ним находится более, чем n-1 символ.
Также символ новой строки может не быть считан, если достигнут конец файла. |
Указатель на buf. Если возникла ошибка, функция возвращает NULL
, код ошибки записывается в errno.
Необходимо использовать функции feof() или ferror() для определения, достигнут ли конец файла или произошла ошибка. |
#include <stdio.h>#include <stdlib.h>int main( void ){FILE *fp;char buffer[80];fp = fopen( "file", "r" );if ( fp != NULL ){while ( fgets( buffer, 80, fp ) != NULL ){fputs( buffer, stdout );}fclose( fp );return (EXIT_SUCCESS);}return (EXIT_FAILURE);}
ANSI, POSIX 1003.1
errno, feof(), ferror(), fopen(), fputs(), getc(), gets(), fgetc()
Предыдущий раздел: Описание API системной библиотеки