ফাইল হলো রেকর্ডের সমষ্টি (অথবা) হার্ড ডিস্কের একটি স্থান যেখানে ডেটা স্থায়ীভাবে সংরক্ষিত থাকে। সি কমান্ড ব্যবহার করে আমরা ফাইলগুলো বিভিন্নভাবে অ্যাক্সেস করতে পারি।
সি ভাষায় ফাইলের প্রয়োজনীয়তা
প্রোগ্রাম টার্মিনেট হলে পুরো ডেটা লост হয়ে যায়, কিন্তু ফাইলে সংরক্ষণ করলে প্রোগ্রাম টার্মিনেট হলেও ডেটা বাঁচিয়ে থাকে।
বড় পরিমাণ ডেটা ইনপুট দিতে অনেক সময় লাগে।
যদি সকল ডেটা সহ একটি ফাইল থাকে, তবে সি-তে কিছু কমান্ড দিয়ে সহজে ফাইলের কন্টেন্ট অ্যাক্সেস করা যায়।
আপনি সহজে আপনার ডেটা একটি কম্পিউটার থেকে অন্যটিতে পরিবর্তন ছাড়া স্থানান্তর করতে পারেন।
ফাইল ওপারেশন
সি ভাষায় ফাইল ওপর করা যাওয়া অপারেশনগুলো নিম্নরূপ −
- ফাইল নামকরণ।
- ফাইল খোলা।
- ফাইল থেকে পড়া।
- ফাইলে লিখা।
- ফাইল বন্ধ করা।
সিনট্যাক্স
ফাইল ওপেন ও নামকরণের সিনট্যাক্স নিম্নরূপ −
FILE *File pointer;
উদাহরণস্বরূপ, FILE * fptr;
File pointer = fopen ("File name”, "mode”);উদাহরণস্বরূপ, fptr = fopen ("sample.txt”, "r”)
FILE *fp; fp = fopen ("sample.txt”, "w”);ফাইল থেকে পড়ার সিনট্যাক্স নিম্নরূপ −
int fgetc( FILE * fp );// read a single character from a file
ফাইলে লিখার সিনট্যাক্স নিম্নরূপ −
int fputc( int c, FILE *fp ); // write individual characters to a stream
উদাহরণ
নিচে ফাইল প্রদর্শনের একটি সি প্রোগ্রাম দেওয়া হলো −
#include<stdio.h> void main(){ //Declaring File// FILE *femp; char empname[50]; int empnum; float empsal; char temp; //Opening File and writing into it// femp=fopen("Employee Details.txt","w"); //Writing User I/p into the file// printf("Enter the name of employee : "); gets(empname); //scanf("%c",&temp); printf("Enter the number of employee : "); scanf("%d",&empnum); printf("Enter the salary of employee : "); scanf("%f",&empsal); //Writing User I/p into the file// fprintf(femp,"%s\n",empname); fprintf(femp,"%d\n",empnum); fprintf(femp,"%f\n",empsal); //Closing the file// fclose(femp); //Opening File and reading from it// femp=fopen("Employee Details.txt","r"); //Reading O/p from the file// fscanf(femp,"%s",empname); //fscanf(femp,"%d",&empnum); //fscanf(femp,"%f",&empsal); //Printing O/p// printf("employee name is : %s\n",empname); printf("employee number is : %d\n",empnum); printf("employee salary is : %f\n",empsal); //Closing File// fclose(femp); }আউটপুট
উপরোক্ত প্রোগ্রাম এক্সিকিউট করলে নিচের ফলাফল আসে −
Enter the name of employee : Pinky Enter the number of employee : 20 Enter the salary of employee : 5000 employee name is : Pinky employee number is : 20 employee salary is : 5000.000000