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 удаляет символы "возврат каретки" и выдает "конец файла" (EOF), при достижении символа Ctrl-Z.

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

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

Максимально, read может ввести 65534 байта, т.к. 65535 это -1, индикатор ошибки.
 
Возвращаемое значение

При успешном завершении возвращается положительное целое число, являющееся числом байт, помещенных в буфер; причем, если файл открывается в текстовом режиме, функция read не включает символы "возврата каретки" и символы Ctrl-z в число считанных байтов.

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

Функция read поддерживается на системах UNIX.
 
Пример

#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);
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;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

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