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ả |
|---|---|
ptr | Con trỏ khối nhớ tối thiểu size*nmemb byte. |
size | Kích thước (byte) mỗi phần tử. |
nmemb | Số phần tử, mỗi phần tử size byte. |
stream | Con 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