C ++ fread () - C ++ Pustaka Standard

Fungsi fread () dalam C ++ membaca sebilangan watak yang ditentukan dari aliran input yang diberikan.

prototaip fread ()

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

Yang fread()fungsi berbunyi jumlah kiraan objek, setiap saiz saiz bait dari aliran input yang diberikan. Sama seperti memanggil fgetc () kali ukuran untuk membaca setiap objek. Mengikut bilangan watak yang dibaca, penunjuk kedudukan fail bertambah.

Nilai yang dihasilkan dari penunjuk kedudukan fail untuk aliran tidak tentu jika ada ralat berlaku semasa membaca fail.

Sekiranya objek tidak dapat disalin secara remeh, tingkah laku tidak ditentukan.

Sekiranya ukuran atau kiraan adalah sifar, panggilan ke freadakan mengembalikan sifar dan tidak ada tindakan lain yang dilakukan.

Ia ditakrifkan dalam fail tajuk.

fread () Parameter

  • penyangga: Penunjuk ke blok memori untuk menyimpan objek.
  • ukuran: Ukuran setiap objek dalam bait.
  • membilang: Bilangan objek yang hendak dibaca.
  • stream: Aliran fail untuk membaca data dari.

fread () Nilai pulangan

The fread()pulangan fungsi bilangan objek berjaya dibaca. Sekiranya ralat atau akhir keadaan fail berlaku, nilai pengembalian mungkin kurang dari jumlah.

Contoh 1: Bagaimana fungsi fread () berfungsi

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

Katakan fail tersebut mengandungi data berikut:

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

Semasa anda menjalankan program, outputnya adalah:

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

Contoh 2: Bagaimana fungsi fread () berfungsi apabila kiraan atau ukurannya sifar

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

Semasa anda menjalankan program, outputnya adalah:

 Apabila kiraan = 0, nilai kembali = 0 Apabila ukuran = 0, nilai kembali = 0

Artikel menarik...