Б) Построчный и форматированный ввод-вывод

Эти функции служат для чтения/записи текста и обычно применяются для текстовых файлов.

В функциях построчного ввода-вывода происходит пере­нос из файла, или в файл строк символов.

 

 

char * fgets (char *S, int m, FILE *f) - чтение из файла f в массив S строки текста, длиной не более m байт. При ошибке (и только при ошибке) возвращает NULL. При чтении, в отличие от gets(), прочтенный символ 'n' заносится в массив S в конец полученной строки.
int fputs (char *S, FILE *f) - запись в файл f строки S. В отличие от puts(), в конце строки символ 'n' автоматически не добавляется; т.е. fputs(S,f) равносильно fprintf(f,"%s",S) (см. ниже).

Форматированный ввод-вывод производится функциями:

int fscanf(FILE *f, char *формат, список адресов объектов)   - считывает из файла f информацию для объектов в соответствии с указанными форматами;
int fprintf(FILE *f, char *формат, список объектов) - записывает в файл f объекты, указанные в списке в соответствии с форматами.

Данные функции аналогичны функциям scanf() и printf(), рассмотренным раньше, только добавлен параметр – указатель на файл. При ошибке возвращают значение, меньшее или равное 0.