Эта группа функций ввода-вывода на самом деле реализована в виде макросов.
1) Макрос getc() возвращает следующий символ из заданного входного потока и увеличивает указатель входного потока так чтобы он указывал на следующий символ. В случае успеха getc() возвращает считанный символ, преобразованный в тип int без знака. Если прочитан конец файла или произошла ошибка, он возвращает EOF. Прототип этого макроса следующий:
int getc(FILE *stream);
2) Макрос getchar() имеет следующий прототип:
int getchar();
Этот макрос определен как getc (stdin). С помощью этого макроса из стандартного входного потока stdin считывается очередной символ и его значение преобразуется в тип int без учета знака. Если переадресация стандартного входного потока не производилась, то ввод осуществляется с клавиатуры. В пропротивном случае ввод будет осуществляться из файла, назначенного для входного потока и указанного в командной строке при вызове программы.
3) Макрос putc() имеет следующий прототип:
int putc(int с, FILE *stxeam) ;
Он выводит символ в поток, заданный параметром stream. В случае успеха putc() возвращает выводимый символ с, препреобразованный к типу int; в случае ошибки - EOF.
4) Макрос putchar() имеет следующий прототип:
int putchar(int с) ;
Этот макрос определяется как putc(c, stdout). В случае успеха он возвращает символ с, преобразованный к типу int. В случае ошибки он возвращает EOF.
1) Функцияgets() имеет следующий прототип:
char *gets(char *s);
Она выполняет считывание строки символов из стандартного входного потока и помещает их в переменную s. Символ перехода на новую строку ' \n' заменяется символом ' \0' при помещении в строку s.
Функцияputs () имеет следующий прототип:
int puts(const char *s);
Она выводит строку в стандартный выводной поток и добавляет символ перевода на новую строку ' \n'. В случае успеха puts() возвращает неотрицательное значение. В противном случае она возвращает EOF.
Пример использования функции вывода строк:
#include <stdio.h>
int main()
{
char* string = "Выводимая строка" ;
puts(string);
return 0;
}
Сам. работа (стр 186- 201)
б) Форматированный ввод или вывод
1) Функция scanf ()
2) Функция sscanf()
3) Функция printf()
4) Функция sprintf 0
Перед тем, как выполнять операции ввода и вывода в файловый поток, нужно его открыть.
1) Открытие файлового потока - функция fopen().
Эта функция имеет следующий прототип:
FILE *fopen(const char *filename,
const char *mode);
Она открывает файл с именем filename и связывает с ним поток. Параметр mode является строкой, задающей режим, в котором открывается файл. (см. табл. стр. 202).
По завершении работы с потоком он должен быть закрыт.
2) Закрытие потока - функция fclose(), имеет следующий прототип: