Книга: Язык Си - руководство для начинающих
Функция 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. Это позволяет вам проверить, как мы и сделали, достигли ли вы конца файла.
- Функция scanf( )
- 5.5. Эхо-клиент TCP: функция str_cli
- Функция puts( )
- 6.4. Функция str_cli (продолжение)
- ВВОД-ВЫВОД ФАЙЛА: fprintf( ), fscanf( ), fgets( ) И fputs( )
- fgets и gets
- Функция fputs( )
- Пример: функция str_echo, использующая стандартный ввод-вывод
- 2.1.3. Функция getopt_long()
- Группировка по встроенным функциям и UDF
- 19.1.1. Функция jQuery()
- Функция strcmp( )