C ++ fread () - C ++ Standard Library

Fungsi fread () di C ++ membaca sejumlah karakter tertentu dari aliran input yang diberikan.

fread () prototipe

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

The fread()Fungsi membaca menghitung jumlah objek, masing-masing ukuran ukuran byte dari aliran input yang diberikan. Ini mirip dengan memanggil waktu ukuran fgetc () untuk membaca setiap objek. Menurut jumlah karakter yang dibaca, indikator posisi file bertambah.

Nilai yang dihasilkan dari indikator posisi file untuk aliran tidak dapat ditentukan jika terjadi kesalahan saat membaca file.

Jika objek tidak bisa disalin secara sepele, perilaku tidak ditentukan.

Jika ukuran atau hitungannya nol, panggilan ke freadakan mengembalikan nol dan tidak ada tindakan lain yang dilakukan.

Ini didefinisikan dalam file header.

fread () Parameter

  • buffer: Pointer ke blok memori untuk menyimpan objek.
  • size: Ukuran setiap objek dalam byte.
  • count: Jumlah objek untuk dibaca.
  • stream: Aliran file untuk membaca data.

fread () Nilai kembali

The fread()kembali fungsi jumlah objek dibaca berhasil. Jika kesalahan atau kondisi akhir file terjadi, nilai yang dikembalikan mungkin kurang dari hitungan.

Contoh 1: Bagaimana fungsi fread () bekerja

 #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; )

Misalkan file tersebut berisi data berikut:

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

Saat Anda menjalankan program, hasilnya adalah:

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

Contoh 2: Bagaimana fungsi fread () bekerja ketika count atau size adalah nol

 #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; )

Saat Anda menjalankan program, hasilnya adalah:

 Ketika menghitung = 0, nilai kembali = 0 Ketika ukuran = 0, nilai kembali = 0

Artikel yang menarik...