সি প্রোগ্রামিং ভাষায় ফাইল খোলা, পড়া এবং লেখা করতে কয়েকটি গুরুত্বপূর্ণ ফাংশন রয়েছে, যেমন fopen(), fscanf(), fprintf(), এবং fclose()। এই ফাংশনগুলো ব্যবহার করে ফাইলে ডেটা সংরক্ষণ, রিড করা, এবং প্রয়োজনীয় কাজ সম্পন্ন করা যায়।
১. fopen() ফাংশন
fopen() ফাংশন ফাইল খোলার জন্য ব্যবহৃত হয়। এই ফাংশনটি ফাইলের নাম এবং মোড (যেমন r, w, a ইত্যাদি) গ্রহণ করে এবং একটি ফাইল পয়েন্টার রিটার্ন করে।
গঠন:
FILE *fopen(const char *filename, const char *mode);
filename: যে ফাইলটি খুলতে হবে তার নাম।mode: ফাইলের মোড, যেমনr(পড়ার জন্য),w(লেখার জন্য),a(অ্যাপেন্ড করার জন্য)।
মোডের তালিকা:
| মোড | বর্ণনা |
|---|---|
r | শুধুমাত্র পড়ার জন্য ফাইল খোলে। ফাইল না থাকলে ত্রুটি দেয়। |
w | শুধুমাত্র লেখার জন্য ফাইল খোলে। ফাইল না থাকলে নতুন ফাইল তৈরি করে। |
a | ফাইলের শেষে লেখা যোগ করার জন্য খোলে। ফাইল না থাকলে নতুন ফাইল তৈরি করে। |
r+ | পড়া এবং লেখার জন্য ফাইল খোলে। |
w+ | পড়া এবং লেখার জন্য ফাইল খোলে। ফাইল না থাকলে নতুন ফাইল তৈরি করে। |
a+ | পড়া এবং লেখা যোগ করার জন্য ফাইল খোলে। |
উদাহরণ:
FILE *file;
file = fopen("example.txt", "w"); // লেখার জন্য ফাইল খোলা
২. fprintf() ফাংশন
fprintf() ফাংশন ব্যবহার করে ফাইলে ডেটা লেখা হয়। এটি সাধারণত ফাইল পয়েন্টার এবং ফরম্যাট স্ট্রিং গ্রহণ করে, এবং প্রিন্টফের মতো ফাইলের মধ্যে আউটপুট লেখে।
গঠন:
int fprintf(FILE *stream, const char *format, ...);
stream: ফাইল পয়েন্টার, যা ফাইলের নির্দেশনা দেয়।format: ফরম্যাট স্ট্রিং, যেমন%d,%sইত্যাদি।
উদাহরণ:
FILE *file;
file = fopen("example.txt", "w"); // ফাইল খোলা
if (file != NULL) {
fprintf(file, "Hello, World!\n"); // ফাইলে লেখা
fprintf(file, "This is an example of file handling in C.\n");
fclose(file); // ফাইল বন্ধ করা
}
ফাইলের আউটপুট (example.txt):
Hello, World!
This is an example of file handling in C.
৩. fscanf() ফাংশন
fscanf() ফাংশন ব্যবহার করে ফাইল থেকে ডেটা পড়া হয়। এটি scanf() এর মতোই কাজ করে, তবে ফাইল থেকে ডেটা পড়ে।
গঠন:
int fscanf(FILE *stream, const char *format, ...);
stream: ফাইল পয়েন্টার।format: ফরম্যাট স্ট্রিং, যেমন%d,%sইত্যাদি।
উদাহরণ:
#include <stdio.h>
int main() {
FILE *file;
char text[100];
file = fopen("example.txt", "r"); // ফাইলটি পড়ার জন্য খোলা
if (file != NULL) {
while (fscanf(file, "%[^\n]\n", text) != EOF) { // এক লাইন করে পড়া
printf("%s\n", text); // স্ক্রিনে প্রিন্ট করা
}
fclose(file); // ফাইল বন্ধ করা
} else {
printf("File could not be opened.\n");
}
return 0;
}
৪. fclose() ফাংশন
fclose() ফাংশনটি একটি ফাইল বন্ধ করতে ব্যবহার করা হয়। যখন ফাইলের কাজ শেষ হয় তখন এটি বন্ধ করা উচিত, যাতে মেমোরি সঠিকভাবে মুক্ত হয় এবং পরবর্তী ব্যবহারের জন্য ফাইল নিরাপদ থাকে।
গঠন:
int fclose(FILE *stream);
stream: ফাইল পয়েন্টার।
উদাহরণ:
FILE *file;
file = fopen("example.txt", "w"); // ফাইল খোলা
fprintf(file, "Closing the file after writing.\n"); // লেখা
fclose(file); // ফাইল বন্ধ
পূর্ণ উদাহরণ: ফাইল খোলা, লেখা এবং পড়া
#include <stdio.h>
#include <string.h>
int main() {
FILE *file;
// ফাইল খোলা এবং লেখা
file = fopen("data.txt", "w");
if (file == NULL) {
printf("File could not be opened.\n");
return 1;
}
fprintf(file, "Name: Alice\n");
fprintf(file, "Age: 30\n");
fclose(file);
// ফাইল খোলা এবং পড়া
char line[100];
file = fopen("data.txt", "r");
if (file == NULL) {
printf("File could not be opened.\n");
return 1;
}
printf("Data from file:\n");
while (fgets(line, sizeof(line), file)) {
printf("%s", line);
}
fclose(file);
return 0;
}
আউটপুট:
Data from file:
Name: Alice
Age: 30
সংক্ষেপে
fopen(): ফাইল খোলে এবং একটি ফাইল পয়েন্টার রিটার্ন করে।fprintf(): ফাইলে ফরম্যাট অনুযায়ী ডেটা লেখে।fscanf(): ফাইল থেকে ফরম্যাট অনুযায়ী ডেটা পড়ে।fclose(): ফাইল বন্ধ করে।
এই ফাংশনগুলো ব্যবহার করে ফাইলের সাথে কাজ করা সহজ হয় এবং প্রোগ্রামে ডেটা সংরক্ষণ ও পরিচালনা করা যায়।
Read more