কম্পিউটার টিউটোরিয়াল

সি ভাষায় ফাইল ওপারেশন কী কী?


সি ভাষায় ফাইল ওপর করা যাওয়া অপারেশনগুলো নিম্নরূপ −

  • ফাইল নামকরণ।
  • ফাইল খোলা।
  • ফাইল থেকে পড়া।
  • ফাইলে লিখা।
  • ফাইল বন্ধ করা।

সিনট্যাক্স

ফাইল ওপেন ও নামকরণের সিনট্যাক্স নিম্নরূপ −

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");

যদি ফাইলটি না থাকে, তবে একটি নতুন ফাইল তৈরি হবে।

যদি ফাইলটি থাকে, তবে বর্তমান কন্টেন্ট পুরনো কন্টেন্টের সাথে যোগ হবে।

ModeExitNot Exit
RReadfp="NULL"
WCurrent ContentNew file will be created
AOld 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

  1. C ভাষায় বিভিন্ন পয়েন্টার অপারেশন এবং পয়েন্টার সমস্যা ব্যাখ্যা

  2. সি ভাষায় হাই-লেভেল I/O ফাংশনসমূহ (fprintf, fscanf, fread, fwrite ইত্যাদি)

  3. সি ভাষায় শিফট অপারেশন (লেফট, রাইট শিফট এবং কমপ্লিমেন্ট)

  4. সি ভাষায় বিভিন্ন সার্চিং টেকনিক কী কী?