Библиотека стандартных функций
В данном разделе представлены не все стандартные функции Полный список основных функций можно найти в любом справочнике по С++.
Функции ввода-вывода языка С++.
Функция clearerr
#include <cstdio.h>
void clearerr (file *stream);
Функция clearerr ()сбрасывает флаг ошибки, связанный с потоком, на который ссылается указатель stream,а также обнуляет индикатор конца файла.
Функция fclose
#include <cstdio.h>
int fclose (file *stream);
Функция fclose ()закрывает файл, связанный с указателем stream, и очищает буфер. После выполнения функции fclose ()указатель stream больше не связан с файлом, и любой автоматически размещенный в памяти буфер удаляется из нее.
Функция feof
#include <cstdio.h>
int feof (file *stream);
Функция feof ()проверяет позицию файлового курсора, чтобы распознать конец файла, связанного с указателем stream. Если курсор находится в конце файла, возвращается ненулевое значение, в противном случае возвращается нуль.
Функция ferror
#include <cstdio.h>
int ferror (file *stream);
Функция ferror()анализирует ошибку, связанную с файлом, на который ссылается указатель stream. Если никаких ошибок не обнаружено, возвращается нуль, в противном случае возвращается ненулевое значение.
Функция fflush
#include <cstdio.h>
int fflush (file *stream);
Если указатель stream связан с файлом, открытым для записи, вызов функции fflush ()принудительно записывает содержание буфера в файл, который остается открытым.
Функция fgetc
#include <cstdio.h>
int fgetc (file *stream);
Функция fgetc () извлекает из входного потока stream следующий символ и увеличивает файловый курсор на единицу. Символ считывает как значение типа unsigned char и преобразуется в целое число.
Функция fgetpos
#include <cstdio.h>
int fgetpos (file *stream, fops_t *position);
Функция fgetpos ()сохраняет в объекте, на который ссылается указатель position,текущее значение файлового курсора. Объект, на который ссылается указатель position, должен иметь тип fops_t. Сохраняемое значение оказывается полезным, лишь если в дальнейшем вызывается функция fsetpos ().
Функция fopen
#include <cstdio.h>
file *fopen (const char *fname, const char *mode);
Функция fopen ()открывает файл, имя которого задается параметром fname,и возвращает указатель на поток, связанный с этим файлом.
Функция fwrite
#include <cstdio.h>
size_t fwrite (const void *buf, size_t size, size_t count, file *stream);
Функция fwrite ()записывает в поток stream массив, состоящий из count
Функция fprintf
#include <cstdio.h>
int fprintf (file *stream, const char *format,…);
Функция fprintf ()выводит в поток, связанный с указателем stream, значения своих аргументов в соответствии со строкой format. Функция возвращает количество реально выделенных символов. При возникновении ошибки возвращается отрицательное число.
Функция freopen
#include <cstdio.h>
file*freopen (const char *fname, const char *mode, file *stream);
Функция freopen ()связывает существующий поток с другим файлом. Имя нового файла задается параметром fname, режим доступа – mode, а перенаправляемый поток – указателем stream. Параметр mode принимает те же значения, что и функции fopen ().
Функция fprint
#include <cstdio.h>
int fprint (const char *format,…);
Функция fprint ()записывает в поток stdoutсвои аргументы в соответствии с форматной строкой format.
Функция remove
#include <cstdio.h>
int remove (const char *fname);
Функция remove () стирает файл, заданный параметром fname. Если файл успешно удален, функция возвращает нуль, в противном случае возвращает не нулевое значение. Зависимая функция: rename ().
Функция rename
#include <cstdio.h>
int rename (const char *oldname, const char *newname);
Функция rename ()меняет имя файла, заданного указателем oldname, на имя, заданное параметром newname. Указатель newname не должен ссылаться ни на один из существующих файлов в текущем каталоге.
Математические функции, входящие в состав стандартной библиотеки, разделяются на следующие категории:
- тригонометрические;
- гиперболические;
- экспоненциальные и логарифмические;
- другие.
Для всех математических функций необходим заголовок <cmath>. (В программах на языке С используется заголовочный файл math.h).
Функция acos
#include <cmath>
float acos (float arg);
doubleacos (double arg);
long double acos (long double arg);
Функция acos ()возвращает арккосинус аргумента arg. Значение аргумента функции acos () должно лежать в интервале от -1 до 1, иначе произойдет ошибка.
Функция asin
#include <cmath>
float asin (float arg);
doubleasin (double arg);
long double asin (long double arg);
Функция asin () возвращает арксинус аргумента arg. Значение аргумента функции asin () должно лежать в интервале от -1 до 1, иначе произойдет ошибка.
Функция atan
#include <cmath>
float atan (float arg);
doubleatan (double arg);
long double atan (long double arg);
Функция atan () возвращает арктангенс аргумента arg.
Функция cos
#include <cmath>
float cos (float arg);
doublecos (double arg);
long double cos (long double arg);
Функция cos () возвращает косинус аргумента arg. Значениеаргумента должно быть выражено в радианах.
Функция exp
#include <cmath>
float exp (float arg);
doubleexp (double arg);
long double exp (long double arg);
Функция exp () возвращает основание натурального логарифма е, возведенное в степень arg.
Функция fmod
#include <cmath>
float fmod (float x, float y);
doublefmod (double x, double y);
long double fmod (long double x, long double y);
Функция fmod () возвращает остаток от деления x/y.
Функция log
#include <cmath>
float log (float num);
doublelog (double num);
long double log (long double num);
Функция log () возвращает натуральный логарифм числа num.
Функция sin
#include <cmath>
float sin (float arg);
doublesin (double arg);
long double sin (long double arg);
Функция sin () возвращает синус аргумента arg. Значениеаргумента должно быть выражено в радианах.
Функция tan
#include <cmath>
float tan (float arg);
doubletan (double arg);
long double tan (long double arg);
Функция tan () возвращает тангенс аргумента arg. Значениеаргумента должно быть выражено в радианах.
Функция sqrt
#include <cmath>
float sqrt (float num);
doublesqrt (double num);
long double sqrt (long double num);
Функция sqrt () возвращает квадратный корень num. Если значение аргумента num отрицательно, возникает ошибка, связанная с выходом из области определения функции.
В стандартной библиотеке содержатся несколько функций, предназначенных для работы со временем и датой.
Функция asctime
#include <ctime>
char *asctime (const structtm *ptr);
Функция asctime () возвращает указатель на строку, содержащую информацию, хранящуюся в структуре, на которую ссылается указатель ptr. Строка преобразуется следующим образом.
День месяц дата часы: минуты: секунды год \n \0.
Функция clock
#include <ctime>
clock_t clock (void);
Функция clock () возвращает приблизительное время работы вызывающей программы.
Функция ctime
#include <ctime>
char *ctime (const time_t *time);
Получив указатель на строку, содержащую календарное время, функция ctime () возвращает указатель на строку, имеющую следующий вид.
День месяц дата часы: минуты: секунды год \n \0.
Функция time
#include <ctime>
time_t time (time_t * time);
Функция time () возвращает текущее календарное время, установленное системой. Если системное время не установлено, функция возвращает число -1.
В стандартной библиотеке определен ряд служебных функций. К ним относятся функции, выполняющие преобразования, обработку списков аргументов, сортировку и поиск, а также генерирующие случайные числа. Многие из этих функций объявлены в заголовке <cstdlib>. (В программах на языке С ему соответствует заголовочный файл stdlib.h).
Функция abort
#include <cstdlib>
void abort (void);
Функция abort () приводит к аварийному завершению.
Функция atoi
#include <cstdlib>
int atoi (const char *str);
Функция atoi () преобразует строку strв значение типа int. Строка должна содержать корректное представление целого числа. В противном случае возвращаемое значение не определено.
Функция rand
#include <cstdlib>
int rand (void);
Функция rand () генерирует последовательность псевдослучайных чисел. Каждый раз при вызове функции rand () возвращается целое число из диапазона от нуля до RAND_MAX.
Функция system
#include <cstdlib>
int system (const char *str);
Функция system ()передает центральному процессору операционной системы команду, представленную в виде строки str.
Контрольные вопросы
1. Дайте определение массиву, инициализация массивов?
2. Одномерный и многомерный массивы?
3. Дайте определение строки?
4. Дайте определение функции?
5. Какие вы знаете библиотеки стандартных функций?
Лабораторная работа №4
Создание программы с помощью мастера проектов (MFC) в программной оболочке Visual C++.
Цель работы:
1. Создать проект программы;
2. Визуально спроектировать диалоговую панель;
3. Связать элементы управления с событиями;
4. Сохранить и выполнить программу.
Используемое оборудование:
- персональная ЭВМ, совместимая с IBM PC.
Используемое программное обеспечение:
- операционная система Windows;
- интегрированная среда программирования Microsoft Visual C++ 5.0 (ИСП Microsoft Visual C++ 5.0).
Задание по работе
1.1. Загрузить ИСП Microsoft Visual C++ 5.0.
1.2. Изучить команды ИСП Microsoft Visual C++ 5.0.
1.3. Записать протокол работы с интегрированной средой.
Порядок выполнения работы
2.1. Запустить Microsoft Visual C++ 5.0.
2.2. Создать *.cpp файл в рабочем каталоге.
2.3. Выполнить пример и упражнение указанный в работе и записать протокол работы.
2.4. Закончить работу, запустить программу.
Содержание отчета
3.1. Наименование лабораторной работы.
3.2. Цель работы.
3.3. Теоретическую часть.
3.4. Алгоритм программы.
3.5. Текст программы.
3.6. Вывод.
Описание работы
4.1. Запуск и работа в ИСП Microsoft Visual C++ 5.0.
Запустить Visual C++. Зайти в меню FILE -> NEW..., и выбрать там Project. Ваша панель должна выглядеть так, как показано на рисунке 1.
Рис.1. Панель выбора проекта.
Затем выбираем MFC AppWizard(exe). В окне редактирования Project Name задаем имя программы и нажимаем OK.
Шаг 1. Выбираем Dialog based, как показано на рисунке 2 и зададим компилятору, что программа будет основана на диалоговых окнах и нажимаем далее.
Рис.2. Панель выбора диалогового окна
Шаг 2. В панели представленной на рисунке 3 введите название программы. Здесь представлена группа "What features would you like to include" включение которой говорит о использовании справки (небольшой диалоговой панели, которая всплывает при нажатии на иконку).
Рис.3. Диалоговая панель об использовании справки
Шаг 3. На рисунке 4. представлена диалоговая панель:
a. Нужно ли вставлять комментарии в исходный текст, который будет являться каркасом вашей программы?
b. Программа, которую создает для вас MFC AppWizard, будет иметь библиотеку с динамической компоновкой (*.dll), а не статической? Файл с расширением *.dll дает преимущество в том, что *.exe файл будет меньшего размера, а *.dll файл будет прилагаться.
Рис.4. Диалоговая панель шага 3
Шаг 4. Затем нажимаем далее и щелкаем конец, посмотрите, чтобы было выбрано все, как показано на рисунке 5.
Рис.5. Диалоговая панель мастера настроек MFC
Все каркасные файлы для вашей программы написаны с помощью Visual C++, с помощью мастера настроек MFC AppWizard.