Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Создание программ на С++.doc
Скачиваний:
15
Добавлен:
29.09.2019
Размер:
1.59 Mб
Скачать

Использование функций библиотеки этапа выполнения

Из урока 9 вы узнали, что до того, как ваши программы смогут вызвать функцию, компилятор C++ должен узнать определение или прототип функции. Поскольку функции библиотеки этапа выполнения не определены в вашей программе, вы должны указать прототип для каждой библиотечной функции, которую намерены использовать. Для упрощения использования библиотечных функций компилятор C++ предоставляет заголовочные файлы, содержащие корректные прототипы. Таким образом, вашим программам необходимо просто включить требуемый заголовочный файл с помощью оператора # include, а затем вызвать необходимую функцию. Например, следующая программа SHOWTIME.CPP будет использовать функции библиотеки этапа выполнения t ime и ctime для вывода текущей системной даты и времени. Прототипы этих двух функций библиотеки этапа выполнения содержатся в заголовочном файле time.h:

#include <iostream.h>  #include <time.h> // Для функций библиотеки этапа выполнения

void main(void)

{     time_t system_time;     system_time = time(NULL);     cout << "Текущее системное время " << ctime(&system_time) << endl;  }

Когда вы откомпилируете и запустите эту программу, на вашем экране появятся текущие системные дата и время:

С:\> SHOWTIME <ENTER>

Текущее системное время Mon Jan 01 16:13:51 1996

Как видите, программа использует функции time и ctime. В случае функцииctime программа передает адрес переменной system_time, используя оператор адреса, описанный в уроке 10. Для использования этих функций вам просто следует включить заголовочный файл time.h в начало вашего исходного файла.

Подобным образом следующая программа SQRT.CPP использует функцию sqrt для возврата квадратного корня нескольких значений. Прототип функции sqrt находится в заголовочном файле math.h:

#include <iostream.h>  #include <math.h> // Содержит прототип sqrt

void main(void)

{     cout << "квадратный корень 100.0 равен " << sqrt(100.0) << endl;     cout << "Квадратный корень 10.0 равен " << sqrt (10.0) << endl;     cout << "квадратный корень 5.0 равен " << sqrt(5.0) << endl;  }

Наконец, программа SYSCALL.CPP использует функцию system, прототип которой определяется в заголовочном файле stdlib.h. Функция systemобеспечивает легкий способ выполнения вашей программой команды операционной системы, такой как "DIR", или другой программы:

#include <stdlib.h>

void main(void)

{     system("DIR");  }

В этом случае программа использует функцию system для вызова команды MS-DOS DIR. Выберите время для эксперимента с этой программой, запуская другие команды или даже одну из программ, созданных вами ранее при изучении этой книги.

Изучение функций библиотеки этапа выполнения

Ваш компилятор C++ обеспечивает сотни функций библиотеки этапа выполнения. Документация, поставляемая с вашим компилятором, должна содержать полное описание всех функций библиотеки этапа выполнения. Если вы просмотрите эту документацию, то найдете, что функции обычно используют простые прототипы. Например, для функции sqrt вы могли бы найти следующий прототип:

double sqrt(double);

В данном случае прототип функции сообщает вам, что функция возвращает значение типа double и ожидает параметр тоже типа double. Аналогично этому можно найти следующий прототип для функции time:

time_t time (time_t *);

И опять прототип сообщает вам, что функция возвращает значение типаtime_t (этот тип определен в заголовочном файле time.h). Функция ожидает, что ее параметр должен быть указателем на переменную типаtime_t. По мере чтения документации о функциях библиотеки этапа выполнения вы очень много узнаете о самих функциях и о C++ , при этом обращайте внимание на прототипы функций.

Другой путь изучения библиотечных функций вашего компилятора состоит в просмотре заголовочных файлов, содержащихся в подкаталоге INCLUDE. Выделите время, например, для того, чтобы сейчас распечатать заголовочные файлы math.h, time.h и stdlib.h, которые вы использовали в программах этого урока.

Использование функций API

В дополнение к стандартной библиотеке этапа выполнения многие компиляторы обеспечивают функции API или интерфейс прикладных программ. Например, если вы программируете в среде Windows, то вам потребуются функции графического API, телефонного API (TAPI), API для мультимедиа и т. д. Прежде чем создавать свои собственные функции, убедитесь, что вы не нашли таких функций в API, предоставляемом вашим компилятором.