ฟังก์ชันไลบรารี 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