Sponsor

সি প্রোগ্রামিং ল্যাঙ্গুয়েজ এ ফাইল অপারেশন, রিডিং, রাইটিং ইত্যাদি

0
4

একটা ফাইল নিয়ে কাজ করার জন্য তা ডিক্লেয়ার করতে হয়। ডিক্লেয়ার করা হয় FILE পয়েন্টার দিয়ে। যেমনঃ

FILE *MyFile;

FILE বড় হারের অক্ষরে লিখতে হয় এবং MyFile হচ্ছে পয়েন্টার ভেরিয়েবল। এটা মুলত একটা বাফার তৈরি করে কম্পিউটার মেমরি এবং ঐ ফাইল এর মধ্যে। পয়েন্টার ভেরিয়েবল তৈরি করার পর আমরা ফাইলটি ওপেন করতে পারব। তার জন্য fopen ফাংশন ব্যবহার করতে হয়। যা সাধারনত লেখা হয় এমনঃ MyFIle = fopen(file-name, file-type); । ফাইল এর নাম এবং টাইফ দুটি স্টিং। এবং ফাইল টাইফ হচ্ছে ফাইলটা কোন মুড এ ওপেন হবে তা। যেমন Read Only, Write Only অথবা দুটিই ইত্যাদি। যেমনঃ

MyFile = fopen (“myfile.txt”,”w”);
file-type নিচের টেবিলের যে কোন একটা হতে পারেঃ

r শুধু মাত্র ফাইলটি রিড করার জন্য ওপেন করা।
w
  • ফাইলটিতে কিছু রাইট করার জন্য ওপেন করা।
  • ফাইলে যদি আগে কিছু থাকে তাহলে তা মুছে যাবে।
  • ফাইল যদি না থাকে, তাহলে অটোমেটিক ভাবে তৈরি হবে।
a
  • ফাইলের শেষে কিছু রাইট করার জন্য ওপেন করা।
  • যদি ফাইলে আগে কিছু থাকে, তাহলে তার শেষে রাইট হবে।
  • ফাইল যদি না থাকে, তাহলে অটোমেটিক ভাবে তৈরি হবে।
r+ ফাইলটি রিড করা বা রাইট করার জন্য ওপেন করা। এবং ফাইলের শুরুতে কিছু লেখা।
w+ ফাইলটি রিড করা বা রাইট করার জন্য ওপেন করা।
a+ ফাইলটি রিড করা বা রাইট করার জন্য ওপেন করা। এবং ফাইলের শেষে কিছু লেখা।

ফাইল ওপেন করার জন্য তাতে কিছু লেখার জন্য fputs ফাংশন  ব্যবহার করা হয়। যেমনঃ

fputs (“Writing to a file using ‘fopen’ example.”,MyFile);

ফাইলটি রিড বা রাইট করা হলে ফাইলোটি বন্ধ বা ক্লোজ করতে হয়, তার জন্য ব্যবহার করা হয়  fclose ফাংশনঃ

fclose (MyFile);


#include
int main ()
{
 FILE * MyFile;
 MyFile = fopen ("myfile.txt","w");
 if (MyFile!=NULL)
 {
 fputs ("Writing to a file using 'fopen' example.",MyFile);
 fclose (MyFile);
 }
 return 0;
}

আপনার সি প্রোজেক্টটা যে ফোল্ডারে সংরক্ষিত করছেন তা ওপেন করুন। তার ভেতর myfile.txt দেখতে পাবেন। এবং ফাইলটি ওপেন করলে Writing to a file using ‘fopen’ example. লেখাটি দেখতে পাবেন।

ফাইল থেকে ডেটা পড়াঃ

ফাইল থেকে ডেটা পড়ার জন্য fscanf ব্যবহার করা হয়।

নিচের কোড গুলো দেখুনঃ


#include
int main ()
{
 FILE * MyFile;
 char string[10];
 MyFile = fopen ("myfile.txt","r+");

while(! feof(MyFile))
 {
 fscanf(MyFile,"%s",string);

printf("%s ", &string);
 }
 fclose (MyFile);
 return 0;
}

এখানে feof দিয়ে end-of-file চেক করা হয়েছে। অর্থাৎ যতক্ষন পর্যন্ত ফাইলের মধ্যে কোন ডেটা থাকবে ততক্ষন পর্যন্ত ফাইলটির ডেটা গুলো fscanf দিয়ে রিড করা হবে।
fscanf এর তিনটা প্যারামিটার রয়েছে। fscanf(file-name, data-type, variable);
file-name হচ্ছে ফাইলের নাম। যে ফাইল থেকে ডেটা পড়া হবে। data-type হচ্ছে ফাইলের ডেটা টাইফ। বা কোন টাইফে ডেটা গুলো পড়া হবে। এখানে char টাইফের ডেটা পড়া হয়েছে। ইচ্ছে করলে int অথবা floating point ডেটা পড়া যাবে।
variable হচ্ছে ভেরিয়েবলের নাম, যেখানে ডেটা গুলো ফাইল থেকে পড়ে সংরক্ষিত থাকবে।
আমরা এ পর্যন্ত যে ফোল্ডারে আমাদের সি প্রোগ্রাম টা রয়েছে তা থাকে ফাইলটি ওপেন করছি বা রিড করছি। ইচ্ছে করলে আমরা যে কোন ডিরেক্ট্ররি থেকে ফাইলটি ওপেন করতে পারি। file-name এর জাগায় পুরো ফাইল পাথ দিলেই হবে। নিচের উদাহরনটি দেখুনঃ

#include
int main ()
{
 FILE * MyFile;
 MyFile = fopen ("F:\MyFolder\myfile.txt","w");
 if (MyFile!=NULL)
 {
 fputs ("Writing to a file using 'fopen' example.",MyFile);
 fclose (MyFile);
 }
 return 0;
}

ফাইল নিয়ে কাজ করা অনেক সহজ তাই না?

টেবিলে আগেই বলছি যে w মুডে ফাইলটি ওপেন করলে তার মধ্যের সকল ডেটা মুছে যাবে এবং নতুন করে ডেটা রাইট হবে। কিন্তু আমরা যদি আগের ডেটা না মুছে আগের ডেটার নিছে নতুন ডেটা লিখতে চাই তার জন্য ব্যবহার করব a মুড।

নিচের কোড টি কয়েকবার রান করিয়ে দেখুনঃ


#include <stdio.h>
int main ()
{
 FILE * MyFile;
 MyFile = fopen ("F:\MyFolder\myfile.txt","a");
 if (MyFile!=NULL)
 {
 fputs ("Writing to a file using 'fopen' example.",MyFile);
 fclose (MyFile);
 }
 return 0;
}

এতটুকুই, অন্যান্য মুড আপনারা ট্রাই করে দেখুন। অন্য কোন ডেটা টাইফ সংরক্ষন করে দেখুনন। অন্য ডেটা টাইফের ডেটা গুলো আবার রিড করার চেষ্টা করুন। কোন সমস্যা হলে আমাকে মেইল করতে পারেন বা ফেসবুকে মেসেজ দিতে পারে।

শুভ প্রোগ্রামিং!

Zoeken
Categorieën
Read More
Hacking Course
শাওমি হাইপারওএস এর দারুণ কিছু ফিচার জেনে নিন - Banglatech24.com
HyperOS নামে নতুন একটি অপারেটিং সিস্টেম নিয়ে এসেছে শাওমি, যা এর বর্তমান মিইউআই এর পরিবর্তে...
By Nettumi 2026-09-25 09:42:00 0 39
Hacking Course
নিয়ে নিন Claude Opus 5, GPT 5.6 এবং আরও অনেক কিছুর জন্য $100 ফ্রি ক্রেডিট API!
আসসালামু আলাইকুম। আজকে আমরা এমন একটি পদ্ধতি সম্পর্কে জানব, যার মাধ্যমে আপনারা কোনো খরচ ছাড়াই...
By Nettumi 2026-09-25 16:15:07 0 28
Nulled
Kids Draws v1.0 - React Native App Source Code Free
Kids Draws v1.0 – React Native App Source Code Free Download. Kids Draws React Native App...
By Nettumi 2026-09-18 03:59:16 0 36
Hacking Course
গুগল পিক্সেল ৬এ ব্যাটারি সমস্যা? গুগল ১০০ ডলার দিতে পারে আপনাকেও!
গুগলের তৈরি পিক্সেল ৬এ স্মার্টফোনটি পুরোনো হতে থাকলে ব্যাটারির কর্মক্ষমতা হঠাৎ কমে যাওয়ার অভিযোগ...
By Nettumi 2026-09-25 09:38:01 0 24
Hacking Course
প্রোগ্রামেবল ক্যালকুলেটর কী? পরীক্ষায় এগুলো নিষিদ্ধ থাকে কেন? জানুন
প্রত্যেকেই যারা বিভিন্ন বোর্ড পরীক্ষা দিয়েছেন বা দিচ্ছেন, অথবা কোনো বিশ্ববিদ্যালয়ের ভর্তি...
By Nettumi 2026-09-25 09:47:46 0 32
‎ ‎ ‎
Nettumi https://nettumi.com