Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комплексное пособие Си.pdf
Скачиваний:
57
Добавлен:
12.03.2015
Размер:
1.57 Mб
Скачать

Литература

1.Хохлов Д.Г. Основы технологии модульного программирования. Учебное пособие. - Казань. Изд-во Казан. гос. техн. ун-та , 2005. - 63 с.

2.Павловская Т.А. C/С++ Программирование на языке высокого уровня. Учебник для ВУЗов. СПб: «Питер», 2005. – 461с.

3.Павловская Т.А. C/C++. Структурное программирование. Практикум.

СПб: «Питер», 2005. – 239с.

4.Хохлов Д.Г. Структуры данных и комбинаторные алгоритмы. Учебное пособие. - Казань: Изд-во Казан. гос. техн. ун-та, 2005. - 102 с.

5.Хохлов Д.Г., Захарова З.Х. Практикум по структурам данных и комбинаторным алгоритмам: Учебное пособие.- Казань: Изд-во Казан.

гос. техн. ун-та, 2005. - 48 с.

6.Бикмурзина А.Р. Лабораторный практикум по программированию. - Казань: Изд-во Казан. гос. техн. ун-та, 2000г.

180

Приложение 1. Некоторые библиотечные функции языка

C

В этом разделе дается краткая информация о часто используемых функциях языка C.

Функции консольного ввода/вывода

Рассматриваемые ниже функции уникальны для компиляторов фирмы Borland. Их прототипы находятся в файле <conio.h>.

Вертикальная позиция курсора в текущем текстовом окне (начиная с 1)

int wherey(void);

Горизонтальная текущая позиция курсора в текущем текстовом окне (начиная с 1)

int wherex(void);

Позиционирование курсора в текстовом окне

void gotoxy(int x, int y);

Установка активного текстового окна

void window(int left, int top, int right, int bottom);

Верхний левый угол экрана имеет координаты (1,1). Теперь для ввода доступно только это окно. Внешне это никак не проявляется. Действует на последующие операторы вывода текстовой информации.

Стирание текущего текстового окна

void clrscr(void);

Стереть до конца строки в текущем текстовом окне

void clreol(void);

Удалить строку в текущем текстовом окне

void delline(void);

Вставить пустую строку в текстовое окно в позицию курсора

void insline(void);

Строки ниже позиции курсора смещаются вниз, а последняя строка теряется.

Выбрать новый цвет фона символа в текстовом режиме

void textbackground(int newcolor);

Выбрать новый цвет символа в текстовом режиме

void textcolor(int newcolor);

181

Установить атрибут символа для текстовых функций вывода

void textattr(int newattr);

Скопировать текст с текстового экрана в память

int gettext(int left, int top, int right, int bottom, void *destin);

Параметр destin должен указывать на реально существующий буфер памяти, имеющий размер достаточный для размещения фрагмента текста с атрибутами каждого символа. Функция возвращает не ноль при успешном копировании.

Скопировать текст из памяти на текстовый экран

int puttext(int left, int top, int right, int bottom, void *source);

Функция выполняет операцию, обратную к предыдущей. Возвращает не ноль в случае успеха.

Копирует текст на экране с одной прямоугольной области в другую

int movetext(int left, int top, int right, int bottom, int destleft, int desttop);

Возвращает не ноль в случае успеха. Получить символ с консоли без эха

int getch(void);

Получить символ с консоли с эхом на экране

int getche(void);

Вывести символ в текстовое окно

int putch(int ch);

Возвратить символ назад в буфер клавиатуры

int ungetch(int ch);

Возвращает код символа ch в случае успеха или EOF при ошибке. Прочитать строку с консоли

char *cgets(char *str);

Байт str[0] перед вызовом функции должен содержать максимальную длину строки, допустимую для ввода. После возврата байт str[1] содержит число фактически прочитанных символов. Сама строка начинается с байта str[2]. Функция возвращает адрес прочитанной строки &str[2].

Вывести строку в текстовое окно

int cputs(const char *str);

Возвращает последний выведенный символ.

182

Вводит данные с консоли с преобразованию по формату

int cscanf(char *format [, address, ...]);

Возвращает число успешно прочитанных полей данных. При попытке прочитать символ конца файла возвращает значение EOF.

Выводит данные в текстовое окно с преобразованием по формату

int cprintf(const char *format[, argumet,...]);

Возвращает число выведенных байт информации. В отличие от функции printf() использует установки цвета. Не производит автоматического добавления символа '\r' к '\n'.

Функции обработки строк

Определение длины строки

int strlen(char *str);

Символ '\0' в длину строки не входит. Не путать с длиной массива, в котором размещается строка.

Слияние двух строк

char *strcat(char *dest, char *src);

К строке, на которую указывает dest приписываются все символы строки src. Буфер, в котором размещается строка dest должен быть такого размера, чтобы вместить результирующую строку.

Функция возвращает адрес строки dest. Слияние строки dest с частью строки src

char *strneat(char *dest, char src, int n);

К строке, на которую указывает dest приписываются n символов строки src. Буфер, в котором размещается строка dest должен быть такого размера, чтобы вместить результирующую строку. Функция возвращает адрес строки dest.

Функция сравнения двух строк в алфавитном порядке

int strcmp(char *s1, char *s2);

Функция возвращает значение больше нуля, если строка s1 больше s2 в смысле алфавитного порядка, меньше нуля, если строка s1 меньше s2, и равное нулю, если строки равны.

Функция сравнения части строк

183

int strncmp(char *s1, char *s2, int n);

Работает также как strcmp(), но сравнивает только n символов строк. Функция копирования строки

char *strcpy(char *dest, char src);

Строка, на которую указывает src, копируется в буфер, на который указывает dest. Этот буфер должен быть такого размера, чтобы вместить копируемую строку. Функция возвращает адрес строки dest.

Функция копирования части строки

char *strncpy(char *dest, char src, int n);

Часть строки, на которую указывает src, размером n символов копируется в буфер, на который указывает dest. Этот буфер должен быть такого размера, чтобы вместить копируемую строку. Функция возвращает адрес строки dest.

Поиск символа в строке

char *strchr(char *str, char c);

Функция осуществляет поиск символа c с начала строки, на которую указывает str, и возвращает адрес найденного символа. Если символ не найден возвращает NULL.

Поиск символа с конца строки

char *strrchr(char *s, char c);

Функция осуществляет поиск символа c с конца строки, на которую указывает str, и возвращает адрес найденного символа. Если символ не найден возвращает NULL.

Форматный вывод в строку

int sprintf(char *str, char *format, ...);

Функция работает подобно printf(), но вывод вместо консоли осуществляет в буфер, на который указывает str. Его размер должен быть достаточным для того, чтобы вместить всю выводимую информацию. Функция возвращает число выведенных байт.

Форматный ввод из строки

int sscanf(char *str, char *format, ...);

184