Описание функций Си


Absread



     absread


Функция Чтение абсолютных секторов на диске.

Синтаксис #include

int absread(int drive, int nsects, int lsect, void * buffer);

Файл, содержащий dos.h прототип

Описание absread считывает заданные сектора диска. Функция игнорирует логическую структуру диска и не обращают внимание на файлы, блоки FAT или директории.

аbsread читает заданные сектора диска посредст- вом прерывания DOS 0x25.

drive = номер читаемого диска (0=А, 1=В, и т.д.) nsects = количество читаемых секторов lsect = начальный логический номер сектора buffer = адрес памяти, куда считываются данные.

Количество считываемых секторов ограничено суммар- ным размером сегмента памяти, расположенного выше адреса buffer. Таким образом, 64К - максимальный размер области памяти, который может быть обработан за один вызов функции absread.

Возвращаемое При успешном завершении absread возвращает 0. значение При возникновении ошибки, функция возвращает значение -1 и присваивают переменной errno значе- ние регистра AX, получаемое при системном вызове.

Переносимость absread уникальна для DOS.

Смотри также

Пример:

#include

#include

#include

#include

#include

#define SEGSIZE 512

unsigned char buf[SEGSIZE];

int main(void) { int i,j,sector,drive; char str[10]; printf("Введите метку диска:"); gets(str); drive = toupper(str[0])-'A'; printf("Введите номер сектора, который нужно считать:"); gets(str); sector = atoi(str); if(absread(drive,1,sector,&buf)!=0) { perror("Ошибка диска")ж exit(1); } printf("\nДисковод %c Сектор %d\n",'A'+drive,sector); for(i=0; i





- Начало -  - Назад -  - Вперед -



Книжный магазин