Computer >> Máy Tính >  >> Lập trình >> C ++

hàm fread () trong C ++

Hàm size_t fread trong thư viện C / C ++ (void * ptr, size_t size, size_t nmemb, FILE * stream) đọc dữ liệu từ luồng đã cho vào mảng được trỏ tới, theo ptr. Sau đây là khai báo cho hàm fread ().

size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)


Bảng sau chứa các tham số và mô tả fread ():

Tham số Mô tả
ptr Đây là con trỏ đến một khối bộ nhớ có kích thước tối thiểu là size * nmemb byte.
kích thước Đây là kích thước tính bằng byte của mỗi phần tử sẽ được đọc.
nmemb Đây là số phần tử, mỗi phần tử có kích thước size byte.
luồng Đây là con trỏ đến một đối tượng FILE chỉ định một luồng đầu vào.

Tổng số phần tử được đọc thành công được trả về dưới dạng đối tượng size_t, là một kiểu dữ liệu tích phân. Nếu con số này khác với tham số nmemb, thì có thể đã xảy ra lỗi hoặc đã đạt đến End Of File.

Mã mẫu

#include <stdio.h>
#include <string.h>
int main () {
   FILE *fp;
   char c[] = "this is tutorialspoint";
   char buffer[100];
   /* Open file for both reading and writing */
   fp = fopen("file.txt", "w+");
   /* Write data to the file */
   fwrite(c, strlen(c) + 1, 1, fp);
   /* Seek to the beginning of the file */
   fseek(fp, 0, SEEK_SET);
   /* Read and display data */
   fread(buffer, strlen(c)+1, 1, fp);
   printf("%s\n", buffer);
   fclose(fp);
   return(0);
}

Hãy để chúng tôi biên dịch và chạy chương trình trên, chương trình này sẽ tạo ra một tệp file.txt và viết nội dung đây là điểm hướng dẫn. Sau đó, chúng tôi sử dụng hàm fseek () để đặt lại con trỏ ghi về đầu tệp và chuẩn bị nội dung tệp như sau -

Đầu ra

this is tutorialspoint