Sdílet prostřednictvím


fread

Čte data z datového proudu.

size_t fread( 
   void *buffer,
   size_t size,
   size_t count,
   FILE *stream 
);

Parametry

  • buffer
    Umístění úložiště pro data.

  • size
    Velikost v bajtech.

  • count
    Maximální počet položek ke čtení.

  • stream
    Ukazatel na FILE struktury.

Vrácená hodnota

freadVrátí počet celých položek skutečně čtení, které mohou být nižší než count Pokud dojde k chybě nebo pokud je nalezen konec souboru před dosažením count*.* Použití feof nebo ferror funkce odlišit od konce souboru podmínku chyby čtení.Pokud size nebo count 0, fread vrátí hodnotu 0 a obsah vyrovnávací paměti nezměněny.Pokud stream nebo buffer je nulový ukazatel fread vyvolá obsluhu neplatný parametr popsaným v Ověření parametrů.Pokud je povoleno spuštění pokračovat, tato funkce nastaví errno na EINVAL a vrátí hodnotu 0.

Viz _doserrno, kód chyby, _sys_errlist a _sys_nerr Další informace o těchto a jiných kódů chyb.

Poznámky

fread Funkce čte až count položky size bajtů od vstupní stream a ukládá je v buffer*.* Ukazatel souboru spojené s stream (pokud existuje) je zvýšen počet bajtů, které jsou skutečně číst.Pokud daný datový proud je otevřen v textovém režimu, přepravu return–linefeed dvojice jsou nahrazeny znaky jednoho konce řádku.Nahrazení nemá žádný vliv na ukazatele souboru nebo vrácené hodnoty.Pozice ukazatele souboru je neurčité, pokud dojde k chybě.Nelze zjistit hodnotu částečně čtení položky.

Tato funkce uzamčení jiných podprocesů.Použijte pokud potřebujete verzi zamykání, _fread_nolock.

Požadavky

Function

Požadované záhlaví

fread

<stdio.h>

Další informace o kompatibilitě, viz Compatibility v úvodu.

Příklad

// crt_fread.c
// This program opens a file named FREAD.OUT and
// writes 25 characters to the file. It then tries to open
// FREAD.OUT and read in 25 characters. If the attempt succeeds,
// the program displays the number of actual items read.
 
#include <stdio.h>

int main( void )
{
   FILE *stream;
   char list[30];
   int  i, numread, numwritten;

   // Open file in text mode:
   if( fopen_s( &stream, "fread.out", "w+t" ) == 0 )
   {
      for ( i = 0; i < 25; i++ )
         list[i] = (char)('z' - i);
      // Write 25 characters to stream 
      numwritten = fwrite( list, sizeof( char ), 25, stream );
      printf( "Wrote %d items\n", numwritten );
      fclose( stream );

   }
   else
      printf( "Problem opening the file\n" );

   if( fopen_s( &stream, "fread.out", "r+t" ) == 0 )
   {
      // Attempt to read in 25 characters 
      numread = fread( list, sizeof( char ), 25, stream );
      printf( "Number of items read = %d\n", numread );
      printf( "Contents of buffer = %.25s\n", list );
      fclose( stream );
   }
   else
      printf( "File could not be opened\n" );
}
  

Ekvivalent v rozhraní .NET Framework

System::IO::FileStream::Read

Viz také

Referenční dokumentace

Proud I/O

fwrite

_read