int randbrd(struct fcb *fcbptr, int count)
int randbwr(struct fcb *fcbptr, int count)
Прототип:
Описание:
Эти функции не определены стандартом ANSI С.
Функция randbrd() читает count записей в память из текущего адреса на диске. Фактически читаемые записи определяются величинами полей структуры, на которую указывает fcbptr. Структура fcb определяется следующим образом:
struct fcb { char fcb_drive; /* Диск: 0 - по умолчанию, 1 = А, 2 = В */ char fcb_name[8]; /* Имя файла */ char fcb_ext[3]; /* Расширение */ short fcb_curblk; /* Номер блока */ short fcb_recsize; /* Размер логической записи в байтах */ long fcb_filsize; /* Размер файла в байтах */ short fcb_date; /* Дата последней операции записи */ char fcb_resv[10]; /* Зарезервировано */ char fcb_currec; /* Текущая запись в блоке */ long fcb_random; /* Случайный номер записи */ };
Функция randbrd() использует функцию DOS 0x27. Подробности можно найти в руководстве по DOS.
Функция randbwr() пишет count записей в файл, ассоциированный со структурой fcb, на которую указывает fcbptr. Функция randbwr() использует функцию DOS 0x28. Подробности можно найти в руководстве по DOS.
Функции возвращают следующие значения:
| Величина | Значение |
|---|---|
| 0 | Все записи преобразованы успешно. |
| 1 | Встретился конец файла (EOF), но последняя запись преобразована полностью. |
| 2 | Слишком много записей, но преобразованные записи являются полными. |
| 3 | Встретился конец файла, и последняя запись неполная. (Применимо только в функции randbrd().) |
