Программирование на C и C++

Онлайн справочник программиста на C и C++

absread, abswrite

int absread(int drive, int numsects, long sectnum, void *buf)

int abswrite(int drive, int numsects, long sectnum, void *buf)

Прототип: 
Описание: 

Эти функции не определе­ны стандартом ANSI С.

Функции absread() и abswrite() выполняют прямое чтение и запись на диск. Они обходят логи­ческую структуру диска и файлы каталога. Вместо этого они оперируют с диском в секторе, указанном параметром sectnum. Имя диска указывается в параметре drive, причем диск А равен 0. Число секторов, которые необходимо прочесть или записать, указывается в параметре numsects; область памяти, в которую осуществляется чтение или из которой берутся данные для записи на диск, определяется указателем buf.

В случае успеха функция возвращает 0. При возникновении ошибки встроенная переменная errno устанавливается равной значению ошибки, которая возвращается DOS. Для того, чтобы определить характер возникшей ошибки, необходима документация по DOS.

Надо проявлять величайшую осторожность при вызове функции abswrite(), потому что ее ис­пользование может легко повредить каталог или файл.

Пример: