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

Ваш аккаунт

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

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

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

_read

_read


Функция            Считывает данные из файла.

Синтаксис          #include<io.h>
                   int _read(int handle, void *buf, unsigned len);

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

Описание
                   Функция _read делают попытку считать len  байт  из
                   файла,  связанного с handle,  в буфер,  адресуемый
                   параметром    buf.    Функция    _read    является
                   непосредственным вызовом операции чтения DOS.

                   В файле, открытом в текстовом режиме, функция read
                   не удаляет символы "возврат каретки".

                   Параметр handle - это тот же самый  параметр,  что
                   получают на выходе функций creat, open, dup, dup2.

                   Функция _read начинает чтение с текущего положения
                   указателя позиции в файле. Когда чтение завершено,
                   функция   увеличивают  указатель  файла  на  число
                   считанных байт. При работе функций с устройствами,
                   байты   данных   считываются   непосредственно   с
                   устройства.

                   _read может считать за один  раз  до  65534  байт,
                   поскольку 65535 (0xFFFF) это -1, индикатор ошибки.

Возвращаемое       При успешном завершении возвращается положительное
значение           целое число, являющееся числом байтов, помещенных
                   в буфер;  По концу файла (EOF), функция возвращает
                   нуль. При ошибке _read возвращает -1, и глобальной
                   переменной  errno  присваивает  одно  из следующих
                   значений:

                       EACCES - Доступ запрещен.
                       EBADF -  Неверный номер файла.

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

Смотрите также    _open, read, _write.

Пример:

#include<stdio.h>
#include<io.h>
#include<alloc.h>
#include<fcntl.h>
#include<process.h>
/* #include<sys\stat.h> */

int main(buffer)
{
   void *buf;
   int handle,bytes;
   buf = malloc(10);
   /* Поиск в текущей директории файла с именем TEST.$$$ и
      попытка чтения из него 10 байт. Перед запуском этой
      программы необходимо создать файл TEST.$$$ */
   if((handle = open("TEST.$$$",O_RDONLY|O_BINARY))== -1)
   {
      printf("Ошибка при открытии файла.\n");
      exit(1);
   }
   if((bytes = _read(handle,buf,10))==-1)
   {
      printf("Ошибка чтения.\n");
      exit(1);
   }
   printf("Считано %d байт.\n",bytes);
   return 0;
}

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

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