Функции посимвольного ввода

Лекция №4

ФУНКЦИИ СТАНДАРТНОГО И ФОРМАТНОГО ВВОДА-ВЫВОДА

Основы ввода-вывода в языке С

Функции ввода-вывода можно разделить на 4 группы:

1) функции посимвольного ввода-вывода, за одно обращение к которым переносится один символ;

2) функции построчного ввода-вывода, за одно обращение к которым переносится ASCIIZ–строка символов;

3) функции блокового ввода-вывода, за одно обращение к которым переносится целый блок(или запись) информации;

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

Различают функции стандартного ввода-вывода, которые предназначены для ввода-вывода данных с клавиатуры. Кроме того отметим, что в стандартной библиотеке ввода/вывода некоторые "функции" на самом деле могут быть макросами. Это позволяет избежать накладных расходов на обращение к функции для обработки каждого символа.

Обращение к стандартной библиотеке.

Каждый исходный файл, который обращается к функции из стандартной библиотеки, должен вблизи начала содержать строку

#include <stdio.h> или(и) #include <conio.h>

В файлах stdio.h и conio.h определяются некоторые макросы и переменные, используемые библиотекой ввода/вывода. Использование угловых скобок вместо обычных двойных кавычек - указание компилятору искать этот файл в справочнике, содержащем заголовки стандартной информации (на системе UNIX обычно lusrlinelude).

Функции посимвольного ввода-вывода

Функции посимвольного ввода

В случае успеха функции возвращают прочитанный символ после его преобразования в int без учета знака.

Функции возвращают значение EOF в случае ошибки или когда попадают на конец файла, какой бы ввод они при этом не считывали. Стандартная библиотека полагает символическую константу EOF равной -1 (посредством #define в файле stdio.h), но проверки следует писать в терминах EOF, а не -1, чтобы избежать зависимости от конкретного значения.

Функция Назначение
#include <stdio.h> int getchar(void); Возвращает символ из файла стандартного ввода. Является макроопределением через функцию getc().
#include <stdio.h> int _fgetchar(void); Возвращает символ из файла стандартного ввода.
#include <stdio.h> int fgetc(FILE *stream); Возвращает символ из открытого файла, описываемого переменной типа FILE, на которую указывает stream.
#include <stdio.h> int getc(FILE *stream); Возвращает символ из открытого файла, описываемого переменной типа FILE, на которую указывает stream. Является макроопределением через функцию _fgetc().
#include <conio.h> int getch(void); Выполняет ввод символа с клавиатуры без эхо- отображения на экране.
#include <conio.h> int getche(void); Выполняет небуферизуемый ввод символа с клавиатуры с эхо- отображением на экране.
#include <conio.h> int ungetch(int ch); Записывает непосредственно в буфер клавиатуры символ ch.
#include <stdio.h> int ungetc(int c, FILE *stream); Возвращает символ int c назад в поток stream. Следующая операция чтения из файла stream будет возвращать символ c.

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



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