Sdílet prostřednictvím


_read

Načte data ze souboru.

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

Parametry

  • fd
    Popisovač souboru ve vztahu k otevření souboru.

  • vyrovnávací paměť
    Umístění úložiště pro data.

  • počet
    Maximální počet bajtů.

Vrácená hodnota

_Číst vrátí počet bajtů přečtených, která může být menší než počet Pokud existují méně než počet bajtů vlevo v souboru nebo pokud byl soubor otevřen v textovém režimu, v případě return–line každou přepravu krmiv dvojice (CR-LF) je nahrazen jeden znak.Ve vrácené hodnotě se počítá pouze jeden znak.Náhradní ukazatel souboru neovlivní.

Funkce se pokusí přečíst na konec souboru, vrátí hodnotu 0.Pokud fd je neplatný, soubor není otevřen pro čtení, nebo soubor je uzamčen, vyvolat neplatný parametr popisovače, jak je popsáno v Ověření parametru.Pokud je povoleno spuštění pokračovat, funkce vrátí hodnotu –1 a sady errno na EBADF.

Pokud vyrovnávací paměti je NULL, je vyvolána parametr neplatný popisovač.Pokud je povoleno spuštění pokračovat, vrátí funkce hodnotu -1 a errno je nastavena na EINVAL.

Další informace o této a dalších návratové kódy, viz _doserrno, kód chyby, _sys_errlist a _sys_nerr.

Poznámky

_read Funkce přečte maximálně počet bajtů do vyrovnávací paměti ze souboru spojené s fd.Operace čtení začíná v aktuální pozici ukazatele souboru přidružený k danému souboru.Po operaci čtení ukazatele souboru odkazuje na další nepřečtenou znak.

Pokud byl soubor otevřen v textovém režimu, čtení ukončí při _read nalezne znak CTRL + Z, je považován za indikátorem konce souboru.Použití _lseek zrušte indikátorem konce souboru.

Požadavky

Rutina

Požadované záhlaví

_read

<io.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Knihovny

Všechny verze C Runtime knihovny.

Příklad

// 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 );
}

Vstup: crt_read.txt

Line one.
Line two.

Výsledek

Read 19 bytes from file

Viz také

Referenční dokumentace

I/O nízké úrovně

_creat, _wcreat

fread

_open, _wopen

_write