সি ভাষায় ফাইল ওপর করা যাওয়া অপারেশনগুলো নিম্নরূপ −
- ফাইল নামকরণ।
- ফাইল খোলা।
- ফাইল থেকে পড়া।
- ফাইলে লিখা।
- ফাইল বন্ধ করা।
সিনট্যাক্স
ফাইল ওপেন ও নামকরণের সিনট্যাক্স নিম্নরূপ −
FILE *File pointer;
উদাহরণস্বরূপ, FILE * fptr;
File pointer = fopen ("File name”, "mode”);উদাহরণস্বরূপ, fptr = fopen ("sample.txt”, "r”)
FILE *fp; fp = fopen ("sample.txt”, "w”);ফাইল খোলার মোড
সি ভাষায় ফাইল খোলার মোডগুলো নিচে ব্যাখ্যা করা হলো −
| মোড | বিবরণ |
|---|---|
| r | ফাইল পড়ার জন্য খোলা হয় |
| w | ফাইল লেখার জন্য খোলা হয় |
| a+ | ফাইল অ্যাপেন্ডের জন্য খোলা হয় |
| r+ | ফাইল পড়া ও লেখার জন্য খোলা হয় |
| w+ | ফাইল লেখা ও পড়ার জন্য খোলা হয় |
| a+ | ফাইল অ্যাপেন্ড ও পড়ার জন্য খোলা হয় |
| rt | টেক্সট ফাইল পড়ার জন্য খোলা হয় |
| wt | টেক্সট ফাইল লেখার জন্য খোলা হয় |
| at | টেক্সট ফাইল অ্যাপেন্ডের জন্য খোলা হয় |
| r+t | টেক্সট ফাইল পড়া ও লেখার জন্য খোলা হয় |
| w+t | টেক্সট ফাইল লেখা ও পড়ার জন্য খোলা হয় |
| a+t | টেক্সট ফাইল অ্যাপেন্ড ও পড়ার জন্য খোলা হয় |
| rb | বাইনারি ফাইল পড়ার জন্য খোলা হয় |
| wb | বাইনারি ফাইল লেখার জন্য খোলা হয় |
| ab | বাইনারি ফাইল অ্যাপেন্ডের জন্য খোলা হয় |
| r+b | বাইনারি ফাইল পড়া ও লেখার জন্য খোলা হয় |
| w+b | বাইনারি ফাইল লেখা ও পড়ার জন্য খোলা হয় |
| a+b | বাইনারি ফাইল অ্যাপেন্ড ও পড়ার জন্য খোলা হয়। |
- রাইট মোডে ফাইল খোলা
সিনট্যাক্স নিম্নরূপ −
FILE *fp; fp =fopen ("sample.txt”, "w”);যদি ফাইলটি না থাকে, তবে একটি নতুন ফাইল তৈরি হয়।
যদি ফাইলটি থাকে, তবে পুরনো কন্টেন্ট মুছে যায় এবং বর্তমান কন্টেন্ট সংরক্ষিত হয়।
- রিড মোডে ফাইল খোলা
সিনট্যাক্স নিম্নরূপ −
FILE *fp fp =fopen ("sample.txt”, "r”);যদি ফাইলটি না থাকে, তবে fopen ফাংশন NULL রিটার্ন করে।
যদি ফাইলটি থাকে, তবে ফাইল থেকে সফলভাবে ডেটা পড়া যায়।
- অ্যাপেন্ড মোডে ফাইল খোলা
সিনট্যাক্স নিম্নরূপ −
FILE *fp; fp =fopen ("sample.txt", "a");যদি ফাইলটি না থাকে, তবে একটি নতুন ফাইল তৈরি হবে।
যদি ফাইলটি থাকে, তবে বর্তমান কন্টেন্ট পুরনো কন্টেন্টের সাথে যোগ হবে।
| Mode | Exit | Not Exit |
|---|---|---|
| R | Read | fp="NULL" |
| W | Current Content | New file will be created |
| A | Old ContentCurrent Content | New file will be Created |
উদাহরণ
নিচে ফাইল ওপারেশনের একটি সি প্রোগ্রাম দেওয়া হলো −
//Program for copying the contents of one file into another file #include <stdio.h> #include <stdlib.h> // For exit() int main(){ FILE *fptr1, *fptr2; char filename[100], c; printf("Enter the filename to open for reading \n"); scanf("%s",filename); // Open one file for reading fptr1 = fopen(filename, "r"); if (fptr1 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } printf("Enter the filename to open for writing \n"); scanf("%s", filename); // Open another file for writing fptr2 = fopen(filename, "w"); if (fptr2 == NULL){ printf("Cannot open file %s \n", filename); exit(0); } // Read contents from file c = fgetc(fptr1); while (c != EOF){ fputc(c, fptr2); c = fgetc(fptr1); } printf("\nContents copied to %s", filename); fclose(fptr1); fclose(fptr2); return 0; }আউটপুট
উপরোক্ত প্রোগ্রাম এক্সিকিউট করলে নিচের ফলাফল আসে −
Enter the filename to open for reading file2.txt Enter the filename to open for writing file1.txt Contents copied to file1.txt