- •Лекция № 5
- •5.1 Понятие «стандартная библиотека»
- •Библиотечные заголовочные файлы ansi Си
- •5.2. Библиотечные функции ввода–вывод данных
- •5.2.1 Вывод данных в языке Си с помощью функции printf
- •5.2.2 Ввод данных в языке Си с помощью функции scanf
- •5.3. Математические функции
- •5.4. Функции общего назначения
- •5.5. Функции работы со строками
- •5.6. Функции проверки класса литер
5.2. Библиотечные функции ввода–вывод данных
При вводе (выводе) данные рассматриваются как поток байтов. Физически поток представляет собой файл или устройство, например, клавиатуру или дисплей. Используемые устройства рассматриваются как частный случай файла. В языке Си существуют пять предопределенных потоков:
стандартный ввод stdin;
стандартный вывод stdout;
стандартный вывод сообщений об ошибках stderr;
стандартный дополнительный поток stdaux;
стандартная печать stdprn.
Первые три потока относятся к консоли. Консоль (console) - это устройство, обеспечивающее взаимодействие оператора ЭВМ с операционной системой. Различают основную (главную) и дополнительную консоли. В качестве консоли, как правило, используется дисплей. Ввод-вывод реализован в Си через библиотечные функции разными способами. Например:
в виде последовательности байтов;
в виде символов и строк;
или с использованием форматных преобразований
Для каждой из перечисленных возможностей предусмотрен свой набор функций. Так, например:
форматированный ввод из потока выполняет функция fscanf;
ввод из стандартного потока stdin выполняет функция scanf;
ввод из строки выполняет функция sscanf;
форматированный вывод в поток выполняет функция fprintf;
вывод в стандартный поток stdout выполняет функция printf;
вывод в строку выполняет функция sprintf;
В приводимых ниже таблицах показаны функции ввода-вывода для стандартных файлов ввода–вывода и функции, предназначенные для работы с терминалом в текстовом режиме
Функции |
Прототип и краткое описание действий |
Getch |
int getch(void); Считывает один символ с клавиатуры без отображения на экране. |
getchar |
int getchar(void); Считывает очередной символ из стандартного входного потока (stdin). |
Gets |
char *gets(char *s); Считывает строку s из стандартного входного потока (stdin). |
printf |
int printf(const char *format [, argument, ...]); Функция форматированного вывода в стандартный поток stdout. |
putchar |
int putchar(int c); Записывает символ c в стандартный поток вывода (stdout). |
puts |
int puts(const char *s); Записывает строку s в стандартный поток вывода (stdout). |
scanf |
int scanf(const char *format [, address, ...]); Функция форматированного ввода из стандартного потока stdin. |
sprintf |
int sprintf(char *s, const char *format [, argument, ...]); Функция форматированной записи в строку s. |
sscanf |
int sscanf(const char *s, const char *format [, address, ...]); Функция форматированного чтения из строки s. |
ungetch |
int ungetch(int c); Возвращает символ c в стандартный поток ввода stdin, заставляя его быть следующим считываемым символом. |
Функции |
Прототип и краткое описание действий |
clreol |
void clreol(void); Стирает символы от позиции курсора до конца строки в текстовом окне. |
clrscr |
void clrscr(void); Очищает экран. |
cgets |
char *cgets(char *str); Выводит на экран строку str. |
cprintf |
int cprintf(const char *format [, argument, ...]); Выводит форматированную строку в текстовое окно, созданное функцией windows(). |
cputs |
int cputs(char *str); Помещает в символьный массив str строку с клавиатуры (консоли). |
cscanf |
int cscanf(const char *format [, address,...]); Функция форматированного ввода, которая используется при работе с терминалом. в текстовом режиме. |
delline |
void delline(void); Удаляет строку в текстовом окне (где находится курсор). |
gotoxy |
void gotoxy(int x, int y); Перемещает курсор в позицию текстового окна с координатами (x, y). |
highvideo |
void highvideo(void); Повышает яркость символов, выводимых на экран после ее вызова. |
movetext |
int movetext(int x0, int y0, int x1, int y1, int x, int y); Переносит текстовое окно в область экрана, правый верхний угол которого имеет координаты (x, y). Координаты угловых точек окна - (x0, y0), (x1, y1). |
normvideo |
void normvideo(void); Устанавливает нормальную яркость выводимых на экран символов. |
textattr |
void textattr(int newattr); Устанавливает атрибуты (фон, цвет) символов, выводимых на экран. |
textbackground |
void textbackground(int c); Устанавливает цвет фона по значению параметра c. |
textcolor |
void textcolor(int c); Устанавливает цвет символов по значению параметра c. |
textmode |
viod textmode(int m); Переводит экран в текстовый режим по значению параметра m. |
wherex |
int wherex(void); Возвращает значение горизонтальной координаты курсора. |
wherey |
int wherey(void); Возвращает значение вертикальной координаты курсора. |
window |
void window(int x0, int y0, int x1, int y1); Создает текстовое окно по координатам угловых точек (x0, y0), (x1, y1). |