Функция fgets( )

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

/* Программа считывает файл строка за строкой */#include <stdio.h>#define MAX 80main(){ FILE *f1; char *string[MAX]; f1=fopen("File","r"); while (fgets(string,MAX,f1)!= NULL) puts(string);}

Мы расположили вводимую информацию в символьном массиве string. Первый из трех аргументов функции fgets() является указателем на местоположение считываемой строки. Второй аргумент содержит предельную длину считываемой строки. Функция прекращает работу после считывания символа новой строки или после считывания символов общим числом MAX-1, в зависимости от того, что произойдет раньше. В любом случае нуль-символ ' \0 ' добавляется в самый конец строки. Третий аргумент указывает на файл, который будет читаться. Разница между gets() и fgets() заключается в том, что gets() заменяет символ новой строки на ' \0 ', в то время как fgets() сохраняет символ новой строки. Подобно gets() функция fgets() возвращает значение NULL, если встречает символ EOF. Это позволяет нам проверить, достигли ли мы конца файла.

Функция fputs()

Эта функция похожа на функцию puts(). Оператор

l=fputs("Строка", fi);
Код Положение в файле
  начало файла
  текущая позиция
  конец файла

Передает строку " Строка " в файл, на который ссылается указатель fi типа FILE. Конечно, сначала нужно открыть файл при помощи функции fopen().

l является целым числом, которое устанавливается в EOF, если fputs() встречает EOF или ошибку. Эта функция не ставит завершающий символ ' \0 ' в конце копируемой строки. В отличии от puts функция fputs() не добавляет символ новой строки в ее вывод.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: