ฟังก์ชันไลบรารี C/C++ size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream) อ่านข้อมูลจากสตรีมที่กำหนดไปยังอาร์เรย์ที่ชี้ไปโดย ptr ต่อไปนี้เป็นการประกาศสำหรับฟังก์ชัน fread()
size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)
ตารางต่อไปนี้ประกอบด้วยพารามิเตอร์และคำอธิบาย fread():
| พารามิเตอร์ | คำอธิบาย |
|---|---|
| ptr | นี่คือตัวชี้ไปยังบล็อกของหน่วยความจำที่มีขนาดต่ำสุด size*nmemb ไบต์ |
| ขนาด | นี่คือขนาดเป็นไบต์ของแต่ละองค์ประกอบที่จะอ่าน |
| nmemb | นี่คือจำนวนองค์ประกอบ แต่ละองค์ประกอบมีขนาด ขนาด ไบต์ |
| สตรีม | นี่คือตัวชี้ไปยังอ็อบเจ็กต์ FILE ที่ระบุอินพุตสตรีม |
จำนวนรวมขององค์ประกอบที่อ่านได้สำเร็จจะถูกส่งกลับเป็นอ็อบเจ็กต์ size_t ซึ่งเป็นชนิดข้อมูลที่สำคัญ หากตัวเลขนี้แตกต่างจากพารามิเตอร์ nmemb แสดงว่าเกิดข้อผิดพลาดหรือถึงจุดสิ้นสุดของไฟล์
โค้ดตัวอย่าง
#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);
} ให้เราคอมไพล์และรันโปรแกรมข้างต้นที่จะสร้างไฟล์ file.txt และเขียนเนื้อหาที่นี่คือ tutorialspoint หลังจากนั้น เราใช้ฟังก์ชัน fseek() เพื่อรีเซ็ตตัวชี้การเขียนไปยังจุดเริ่มต้นของไฟล์และเตรียมเนื้อหาไฟล์ดังต่อไปนี้ -
ผลลัพธ์
this is tutorialspoint