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

       

Randbwr



     randbwr

Функция Запись на диск.

Синтаксис #include

int randbwr(struct fcb *fcbptr, int reccnt);

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

Описание Функция randbwd записывает recent записей, исполь- зуя блок FCB, адресуемый указателем fcbptr. Эта операция выполняется с помощью системного вызова DOS 0x28.

Действительное число записанных записей можно оп- ределить проанализировав поля random record блока FCB. Данное поле после операции будет заполнено информацией о числе действительно записанных за- писей.

Возвращаемое В зависимости от результата работы функций randbwd значение возвращает следующие значения:

0- все записи записаны; 1- На диске нет места для записи данных. (Не за- писано ни одной записи.) 2- выводимые записи располагаются рядом с адресом 0xFFFF (выведено записей столько, сколько воз- можно).

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

Смотрите также

Пример:

#include

#include

#include

#include

int main(void) { char far *save_dta; char line[80]; char buffer[256] = "RANDBWR test!"; struct fcb blk; int result; /* ввести имя файла */ printf("Введите имя нового файла (без маршрута, например\ a:file.dat)\n"); gets(line); /* записать имя файла в FCB */ if(!parsfnm(line,&blk,1)) printf("Устройство #%d файл: %s\n\n",blk.fcb_drive, blk.fcb_name); /* создать файл, с использованием функций DOS, работающих с FCB */ if(bdosptr(0x16,&blk,0)==-1) { printf("Ошибка при создании файла\n"); exit(1); } /* сохранить старый DTA, создать новый */ save_dta = getdta(); setdta(buffer); /* вывод в файл */ blk.fcb_recsize = 256; blk.fcb_random = 0L; result = randbwd(&blk,1); /* проверить результат операции */ if(!result) printf("Запись закончена успешно\n"); else { perror("Ошибка диска\n"); exit(1); } /* закрыть файл */ if(bdosptr(0x10,&blk,0)==-1) { printf("Ошибка при закрытии файла\n"); exit(1); } /* восстановить DTA */ setdta(save_dta); return 0; }



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