Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Hàm fread() trong C++


Hàm fread() đọc dữ liệu từ luồng (stream) vào bộ nhớ. Khai báo:

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

Tham số

Tham sốMô tả
ptrCon trỏ khối nhớ tối thiểu size*nmemb byte.
sizeKích thước (byte) mỗi phần tử.
nmembSố phần tử, mỗi phần tử size byte.
streamCon trỏ FILE chỉ định luồng nhập.

Trả về số phần tử đọc thành công (kiểu size_t). Nếu khác nmemb thì có lỗi hoặc hết file (EOF).

Ví dụ minh họa

#include <cstdio>
#include <cstring>

int main() {
    FILE *fp = fopen("file.txt", "w+");
    char src[] = "this is tutorialspoint";
    char buf[100];

    fwrite(src, strlen(src)+1, 1, fp); // ghi
    fseek(fp, 0, SEEK_SET);            // về đầu file
    fread(buf, strlen(src)+1, 1, fp);  // đọc
    printf("%s\n", buf);
    fclose(fp);
    return 0;
}

Kết quả

this is tutorialspoint