C ++ fread () - C ++ Standard Βιβλιοθήκη

Η συνάρτηση fread () στο C ++ διαβάζει έναν καθορισμένο αριθμό χαρακτήρων από τη δεδομένη ροή εισόδου.

πρωτότυπο fread ()

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

Η fread()συνάρτηση διαβάζει τον αριθμό των αντικειμένων, καθένα από τα byte μεγέθους μεγέθους από τη δεδομένη ροή εισόδου. Είναι παρόμοιο με το να καλείτε fgetc () φορές για να διαβάσετε κάθε αντικείμενο. Ανάλογα με τον αριθμό των χαρακτήρων που διαβάζονται, η ένδειξη θέσης αρχείου αυξάνεται.

Η προκύπτουσα τιμή του δείκτη θέσης αρχείου για τη ροή είναι απροσδιόριστη εάν παρουσιαστεί κάποιο σφάλμα κατά την ανάγνωση του αρχείου.

Εάν τα αντικείμενα δεν μπορούν να αντιγραφούν ασήμαντα, η συμπεριφορά είναι απροσδιόριστη.

Εάν το μέγεθος ή η μέτρηση είναι μηδέν, μια κλήση προς freadθα επιστρέψει μηδέν και δεν εκτελείται καμία άλλη ενέργεια.

Ορίζεται στο αρχείο κεφαλίδας.

fread () Παράμετροι

  • buffer: Δείκτης στο μπλοκ της μνήμης για αποθήκευση των αντικειμένων.
  • size: Μέγεθος κάθε αντικειμένου σε byte.
  • count: Ο αριθμός των αντικειμένων που πρέπει να διαβάσετε.
  • stream: Η ροή αρχείων για την ανάγνωση των δεδομένων.

fread () Επιστροφή τιμή

Η fread()συνάρτηση επιστρέφει τον αριθμό των αντικειμένων που διαβάζονται επιτυχώς. Εάν παρουσιαστεί σφάλμα ή τέλος της κατάστασης του αρχείου, η τιμή επιστροφής μπορεί να είναι μικρότερη από την καταμέτρηση.

Παράδειγμα 1: Πώς λειτουργεί η λειτουργία fread ()

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

Ας υποθέσουμε ότι το αρχείο περιέχει τα ακόλουθα δεδομένα:

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

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

Παράδειγμα 2: Πώς λειτουργεί η λειτουργία fread () όταν η μέτρηση ή το μέγεθος είναι μηδέν

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

Όταν εκτελείτε το πρόγραμμα, η έξοδος θα είναι:

 Όταν μετράει = 0, τιμή επιστροφής = 0 Όταν το μέγεθος = 0, τιμή επιστροφής = 0

ενδιαφέροντα άρθρα...