Книга: Язык Си - руководство для начинающих

Функция fgets( )

Функция fgets( )

     Эта функция имеет три аргумента, в то время как gets( ) имеет один. Вот пример ее использования:

/* считывает файл строка за строкой */

#include <stdio.h>

#define MAXLIN 80

main( )

{

FILE  *f1;

char *string [MAXLIN];

f1 = fopen("story", "r");

while(fgets(string, MAXLIN, f1) != NULL)

puts(string);

}

     Первый из трех аргументов функции fgets( ) является указателем на местоположение считываемой строки. Мы располагаем вводимую информацию в символьный массив string.

Второй аргумент содержит предельную длину считываемой строки. Функция прекращает работу после считывания символа новой строки или после считывания символов общим числом MAXLIN - 1 (в зависимости от того, что произойдет раньше). В любом случае нуль-символ ('') добавляется в самый конец строки.

Третий аргумент указывает, конечно, на файл, который будет читаться.

     Разница между gets( ) и fgets( ) заключается в том, что gets( ) заменяет символ новой строки на '', в то время как fgets( ) сохраняет символ новой строки.

     Подобно gets( ) функция fgets( ) возвращает значение NULL, если встречает символ EOF. Это позволяет вам проверить, как мы и сделали, достигли ли вы конца файла.

Оглавление книги


Генерация: 1.493. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз