কম্পিউটার টিউটোরিয়াল

C++-এ fread() ফাংশন


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 বাইট।
sizeপ্রতিটি এলিমেন্টের আকার বাইটে যা পড়া হবে।
nmembএটি এলিমেন্টের সংখ্যা, প্রতিটির আকার size বাইট।
streamএটি একটি FILE অবজেক্টের পয়েন্টার যা একটি ইনপুট স্ট্রিম নির্দিষ্ট করে।

সফলভাবে পড়া এলিমেন্টের মোট সংখ্যা size_t অবজেক্ট হিসেবে রিটার্ন হয়, যা একটি ইন্টিগ্রাল ডেটা টাইপ। যদি এই সংখ্যা nmemb প্যারামিটার থেকে ভিন্ন হয়, তবে либо এরর হয়েছে অথবা End Of File পৌঁছানো হয়েছে।

উদাহরণ কোড

#include <stdio.h> 
#include <string.h> 
int main() { 
    FILE *fp; 
    char c[] = "this is tutorialspoint"; 
    char buffer[100]; 
    /* ফাইল খোলো পড়ার এবং লেখার জন্য */ 
    fp = fopen("file.txt", "w+"); 
    /* ফাইলে ডেটা লিখো */ 
    fwrite(c, strlen(c) + 1, 1, fp); 
    /* ফাইলের শুরুতে সিক করো */ 
    fseek(fp, 0, SEEK_SET); 
    /* ডেটা পড়ো এবং ডিসপ্লে করো */ 
    fread(buffer, strlen(c) + 1, 1, fp); 
    printf("%s\n", buffer); 
    fclose(fp); 
    return 0; 
}

উপরের প্রোগ্রাম কম্পাইল ও রান করলে file.txt তৈরি হবে এবং "this is tutorialspoint" কনটেন্ট লিখবে। তারপর fseek() ফাংশন ব্যবহার করে রাইটিং পয়েন্টার ফাইলের শুরুতে রিসেট করবে এবং ফাইল কনটেন্ট প্রিপেয়ার হবে নিচের মতো -

আউটপুট

this is tutorialspoint

  1. সি/সি++-এ rename() ফাংশন

  2. C++-এ log() ফাংশন

  3. C++-এ swap() ফাংশন

  4. PHP-তে fread() ফাংশন