Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน fread() ใน C++


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