Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

_read

CuBook05

Функция

Считывает данные из файла.
 
Синтаксис

#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 - Неверный номер файла.
 
Переносимость

#include <stdio.h>
#include <io.h>
#include <alloc.h>
#include <fcntl.h>
#include <process.h>

int main(buffer)
{
void *buf;
int handle,bytes;
buf = malloc(10);
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;
}
 
Пример

000
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Защитный код Обновить