C ++ fread () - C ++ Standart Kitaplığı

C ++ 'daki fread () işlevi, verilen giriş akışından belirli sayıda karakteri okur.

fread () prototipi

 size_t fread (void * arabellek, size_t boyut, size_t sayısı, FILE * akım);

fread()Fonksiyonu boyut büyüklüğü, her biri belirli bir girdi akışından bayt, nesnelerin sayısı numarasını okur. Her bir nesneyi okumak için fgetc () boyutu kez çağrılmaya benzer. Okunan karakter sayısına göre, dosya konumu göstergesi artar.

Dosya okunurken herhangi bir hata meydana gelirse, akış için dosya konumu göstergesinin sonuç değeri belirsizdir.

Nesneler önemsiz bir şekilde kopyalanamazsa, davranış tanımsızdır.

Boyut veya sayı sıfırsa, bir çağrı freadsıfıra döner ve başka bir işlem gerçekleştirilmez.

Başlık dosyasında tanımlanmıştır.

fread () Parametreler

  • buffer: Nesneleri saklamak için bellek bloğunun işaretçisi.
  • size: Her nesnenin bayt cinsinden boyutu.
  • count: Okunacak nesne sayısı.
  • stream: Verilerin okunacağı dosya akışı.

fread () Dönüş değeri

fread()İşlevini verir nesne sayısı başarıyla okundu. Bir hata veya dosya sonu durumu oluşursa, dönüş değeri count değerinden az olabilir.

Örnek 1: fread () işlevi nasıl çalışır?

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); fp = fopen("data.txt","rb"); while(!feof(fp)) ( fread(buffer,sizeof(buffer),1,fp); cout << buffer; ) return 0; )

Dosyanın aşağıdaki verileri içerdiğini varsayalım:

 Dennis Ritchie: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Programı çalıştırdığınızda, çıktı:

 Dennis Ritchie: C Bjarne Stroustrup: C ++ Guido van Rossum: Python James Gosling: Java

Örnek 2: count veya size sıfır olduğunda fread () işlevi nasıl çalışır?

 #include #include using namespace std; int main() ( FILE *fp; char buffer(100); int retVal; fp = fopen("data.txt","rb"); /* when count is zero */ retVal = fread(buffer,sizeof(buffer),0,fp); cout << "When count = 0, return value = " << retVal << endl; /* when size is zero */ retVal = fread(buffer,0,1,fp); cout << "When size = 0, return value = " << retVal << endl; return 0; )

Programı çalıştırdığınızda, çıktı:

 Count = 0 olduğunda, dönüş değeri = 0 Boyut = 0 olduğunda, dönüş değeri = 0

Ilginç makaleler...