ফাইল হল রেকর্ডের সংগ্রহ বা হার্ড ডিস্কের একটি জায়গা, যেখানে ডেটা স্থায়ীভাবে সংরক্ষণ করা হয়।
ফাইলের প্রয়োজন
-
একটি প্রোগ্রাম বন্ধ হয়ে গেলে সম্পূর্ণ ডেটা হারিয়ে যায়৷
-
একটি ফাইলে সংরক্ষণ করা তথ্য সংরক্ষণ করে এমনকি যদি প্রোগ্রামটি বন্ধ হয়ে যায়।
-
আপনি যদি প্রচুর পরিমাণে ডেটা প্রবেশ করতে চান তবে সাধারণত সেগুলি প্রবেশ করতে অনেক সময় লাগে৷
-
আমরা কয়েকটি কমান্ড ব্যবহার করে সহজেই ফাইলের বিষয়বস্তু অ্যাক্সেস করতে পারি।
-
আপনি পরিবর্তন ছাড়াই সহজেই আপনার ডেটা এক কম্পিউটার থেকে অন্য কম্পিউটারে স্থানান্তর করতে পারেন৷
-
C কমান্ড ব্যবহার করে, আমরা বিভিন্ন উপায়ে ফাইল অ্যাক্সেস করতে পারি।
ফাইলগুলিতে অপারেশনগুলি
C প্রোগ্রামিং ল্যাঙ্গুয়েজে ফাইলের ক্রিয়াকলাপগুলি নিম্নরূপ -
- ফাইলের নামকরণ
- ফাইলটি খোলা হচ্ছে
- ফাইল থেকে পড়া
- ফাইলে লেখা
- ফাইলটি বন্ধ করা হচ্ছে
সিনট্যাক্স
একটি ফাইল পয়েন্টার ঘোষণা করার জন্য সিনট্যাক্স নিম্নরূপ -
FILE *File pointer;
উদাহরণস্বরূপ, FILE * fptr;
একটি ফাইল পয়েন্টার নামকরণ এবং খোলার জন্য সিনট্যাক্স নিম্নরূপ -
File pointer = fopen ("File name", "mode"); উদাহরণস্বরূপ,
FILE *fp;
fp = fopen ("sample.txt", "w"); প্রোগ্রাম1
n নম্বর ছাত্রদের নাম ও চিহ্ন পড়ার জন্য এবং একটি ফাইলে সংরক্ষণ করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল -
#include <stdio.h>
int main(){
char name[50];
int marks, i, num;
printf("Enter number of students: ");
scanf("%d", &num);
FILE *fptr;
fptr = (fopen("std.txt", "w")); // opening file in write mode
if(fptr == NULL){
printf("Error!");
exit(1);
}
for(i = 0; i < num; ++i){
printf("For student%d\nEnter name: ", i+1);
scanf("%s", name);
printf("Enter marks: ");
scanf("%d", &marks);
fprintf(fptr,"\nName: %s \nMarks=%d \n", name, marks);
}
fclose(fptr);
return 0;
} আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter number of students: 3 For student1 Enter name: lucky Enter marks: 59 For student2 Enter name: pinky Enter marks: 89 For student3 Enter name: bob Enter marks: 45
প্রোগ্রাম2
একটি ফাইলে একজন কর্মচারীর বিবরণ সঞ্চয় করার জন্য এবং একই −
প্রিন্ট করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল#include<stdio.h>
int main ( ){
FILE *fp;
int eno;
char ename[30];
float sal;
fp =fopen ("emp.txt", "w"); // opening file in write mode
printf ("enter the details of eno, ename, sal:");
scanf ("%d%s%f", &eno, ename, &sal);
fprintf (fp, "%d%s%f", eno, ename, sal);
fclose (fp);
fp = fopen ("emp.txt", "r");
fscanf (fp, "%d%s%f", &eno, ename, &sal);
printf ("employee no: = %d\n", eno);
printf ("employee name = %s\n", ename);
printf ("salary = %f\n", sal);
fclose (fp);
return 0;
} আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
enter the details of eno, ename, sal:1 Pinky 34000 employee no: = 1 employee name = Pinky salary = 34000.000000