Partilhar via


_read

Lê dados de um arquivo.

int _read(
   int fd,
   void *buffer,
   unsigned int count 
);

Parâmetros

  • fd
    Descritor de arquivo consultando o arquivo em aberto.

  • buffer
    Local de armazenamento de dados.

  • Contagem
    Número máximo de bytes.

Valor de retorno

_ler retorna o número de bytes lidos, que pode ser menor que Contagem se houver menos de Contagem bytes esquerda no arquivo ou se o arquivo foi aberto no modo de texto, caso em que cada carro return–line feed emparelhar (CR-LF) será substituído por um caractere de avanço de linha única.Apenas o caractere de avanço de linha única é contado no valor retornado.A substituição não afeta o ponteiro do arquivo.

Se a função tenta ler no participante do arquivo, ele retornará 0.If fd é inválido, o arquivo não está em aberto para leitura, ou o arquivo está bloqueado, o manipulador de parâmetro inválido é invocado, sistema autônomo descrito em Validação de parâmetro. Se a execução for permitida para continuar, a função retorna -1 e define errno para EBADF.

If buffer is NULO, o manipulador de parâmetro inválido é invocado.Se a execução terá permissão para continuar, a função retornará -1 e errno é conjunto para EINVAL.

Para obter mais informações sobre este e outros códigos de retorno, consulte _doserrno, errno, _sys_errlist e _sys_nerr.

Comentários

The _read função lê um máximo de Contagem bytes em buffer do arquivo associado fd. A operação de leitura começa na posição corrente do ponteiro do arquivo associado ao arquivo especificado.Após a operação de leitura, o ponteiro do arquivo aponta para o próximo caractere não lido.

Se o arquivo foi aberto no modo de texto, a leitura será encerrada quando _read encontrar um caractere CTRL+Z, que é tratado sistema autônomo um indicador de participante de arquivo. Use _lseek para desmarcar o indicador de participante de arquivo.

Requisitos

Rotina

Cabeçalho necessário

_read

<io.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Bibliotecas

Todas as versões do C em time de execução bibliotecas.

Exemplo

// crt_read.c
/* This program opens a file named crt_read.txt
 * and tries to read 60,000 bytes from
 * that file using _read. It then displays the
 * actual number of bytes read.
 */

#include <fcntl.h>      /* Needed only for _O_RDWR definition */
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <share.h>

char buffer[60000];

int main( void )
{
   int fh;
   unsigned int nbytes = 60000, bytesread;

   /* Open file for input: */
   if( _sopen_s( &fh, "crt_read.txt", _O_RDONLY, _SH_DENYNO, 0 ) )
   {
      perror( "open failed on input file" );
      exit( 1 );
   }

   /* Read in input: */
   if( ( bytesread = _read( fh, buffer, nbytes ) ) <= 0 )
      perror( "Problem reading file" );
   else
      printf( "Read %u bytes from file\n", bytesread );

   _close( fh );
}

Entrada: crt_read.txt

Line one.
Line two.

Saída

Read 19 bytes from file

Consulte também

Referência

E/S de nível baixo

_creat, _wcreat

fRead

_Open, _wopen

_Write