C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 randbrd / r / Библиотечн. функции Borland C++

randbrd

Функция            Чтение с диска.

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

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

Описание           Функция randbrd    считывает    recent    записей,
                   используя блок FCB,  адресуемый указателем fcbptr.
                   Записи  считываются  в  память  по текущему адресу
                   DTA. Записи считываются с диска, причем информация
                   берется  из  поля  random  record  блока FCB.  Эта
                   операция выполняется с помощью  системного  вызова
                   DOS 0x27.

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

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

                   0- все записи прочитаны;

                   1- достигнут конец файла (EOF) и последняя запись
                      прочитана полностью;

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

                   3- достигунт конец файла и последняя запись обра-
                      ботана не полностью.


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

Смотрите также     getdta, randbwd, setdta.

Пример:

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

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