Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:
реклама

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

randbwr

randbwr


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

Синтаксис          #include <dos.h>
                   int randbwr(struct fcb *fcbptr, int reccnt);

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

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

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

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

                   0- все записи записаны;

                   1- На диске нет места для записи данных. (Не за-
                      писано ни одной записи.)

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

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

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

Пример:

#include<process.h>
#include<string.h>
#include<stdio.h>
#include<dos.h>

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;
}

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог