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; /* Случайный номер записи */
};
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().) |