MS-DOS для программиста

Функции библиотеки Borland C++


Стандартная библиотека Borland C++ содержит несколько функций, облегчающих получение справочной информации о состоянии дисковой системы.


Стандартная библиотека Borland C++ содержат несколько функций, предназначенных для работы с каталогами.




Стандартная библиотека Borland C++ содержит функции для работы с файлами. Эти функции можно разделить на две группы - функции низкого уровня и функции ввода/вывода потоком. Вторая группа функций использует буферизацию и будет рассмотрена в разделе, посвященном буферизованному вводу/выводу.

Функции низкого уровня отображаются на описанные выше функции прерывания INT 21h (а также на функции этого же прерывания, предназначенные для чтения или записи, позиционирования и т. д.).




Если ваша программа составлена на языке программирования С или C++, для записи и чтения данных она может воспользоваться функциями write и read :

int write (int handle, void *buffer, unsigned count); int read (int handle, void *buffer, unsigned count);

Эти функции работают аналогично функциям 40h и 3Fh прерывания INT21h . Параметр handle определяет файл, для которого необходимо выполнить операцию записи или чтения. Параметр buffer - указатель на блок памяти, который содержит данные для записи или в который необходимо поместить прочитанные данные. Количество записываемых или читаемых байт определяется третьим параметром - count.

После выполнения операции функция возвращает количество действительно записанных или прочитанных байт или -1 при ошибке.

Будьте внимательны, если вы записываете или читаете больше 32 Кбайт - вы можете получить признак ошибки, хотя передача данных выполнилась правильно. Большие массивы данных можно записывать по частям.




Стандартная библиотека Borland C++ содержит функции, предназначенные для управления файловым указателем позиции и получения текущего значения этого указателя. Это функции lseek , tell , filelength .




Стандартная библиотека Borland C++ содержит функции для чтения и изменения атрибутов файлов, а также времени и даты их последней модификации.




Для составления программы обработки критических ошибок вы можете воспользоваться языком ассемблера или функциями стандартной библиотеки Borland C++ с именами _dos_getvect , _dos_setvect , _chain_intr . Однако лучше всего использовать специально предназначенные для этого функции _harderr , _hardresume и _hardretn .



Содержание раздела