কম্পিউটার

C এরর হ্যান্ডলিং ফাংশন ব্যাখ্যা কর


ফাইল হল রেকর্ডের সংগ্রহ বা হার্ড ডিস্কের একটি জায়গা, যেখানে ডেটা স্থায়ীভাবে সংরক্ষণ করা হয়।

ফাইলগুলিতে অপারেশনগুলি

C প্রোগ্রামিং ল্যাঙ্গুয়েজে ফাইলের ক্রিয়াকলাপগুলি নিম্নরূপ -

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

সিনট্যাক্স

একটি ফাইল খোলার সিনট্যাক্স নিম্নরূপ -

FILE *File pointer;

উদাহরণস্বরূপ, FILE * fptr;

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

File pointer = fopen ("File name", "mode");

উদাহরণস্বরূপ,

fptr = fopen ("sample.txt", "r");
FILE *fp;
fp = fopen ("sample.txt", "w");

ফাইলগুলির পরিচালনায় ত্রুটি

ফাইলের কিছু ত্রুটি নিম্নরূপ -

  • ফাইলের শেষের বাইরে পড়ার চেষ্টা করছি।
  • ডিভাইস ওভার ফ্লো।
  • একটি অবৈধ ফাইল খোলার চেষ্টা করা হচ্ছে৷
  • একটি ভিন্ন মোডে একটি ফাইল খোলার মাধ্যমে একটি অবৈধ অপারেশন সম্পাদন করা।

ferror( )

এটি পড়া/লেখার ক্রিয়াকলাপ সম্পাদন করার সময় একটি ত্রুটি সনাক্ত করতে ব্যবহৃত হয়৷

ferror() ফাংশনের জন্য সিনট্যাক্স নিম্নরূপ -

সিনট্যাক্স

int ferror (file pointer);

উদাহরণস্বরূপ,

উদাহরণ

FILE *fp;
if (ferror (fp))
printf ("error has occurred");

এটি শূন্য প্রদান করে, যদি সাফল্য এবং একটি অ-শূন্য, অন্যথায়।

প্রোগ্রাম

ferror() ফাংশন -

ব্যবহার করার জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
int main(){
   FILE *fptr;
   fptr = fopen("sample.txt","r");
   if(ferror(fptr)!=0)
      printf("error occurred");
   putc('T',fptr);
   if(ferror(fptr)!=0)
      printf("error occurred");
   fclose(fptr);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

error occurred
Note: try to write a file in the read mode results an error.

অপরাধ ( )

এটি একটি ত্রুটি মুদ্রণের জন্য ব্যবহৃত হয়৷

Perror() ফাংশনের সিনট্যাক্স নিম্নরূপ -

সিনট্যাক্স

perror (string variable);

উদাহরণস্বরূপ,

উদাহরণ

FILE *fp;
char str[30] = "Error is";
perror (str);

আউটপুট নিম্নরূপ -

Error is: error 0

প্রোগ্রাম

perror() ফাংশন −

ব্যবহার করার জন্য C প্রোগ্রাম নিচে দেওয়া হল
#include<stdio.h>
int main ( ){
   FILE *fp;
   char str[30] = "error is";
   int i = 20;
   fp = fopen ("sample.txt", "r");
   if (fp == NULL){
      printf ("file doesnot exist");
   }
   else{
      fprintf (fp, "%d", i);
      if (ferror (fp)){
         perror (str);
         printf ("error since file is opened for reading only");
      }
   }
   fclose (fp);
   return 0;
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

error is: Bad file descriptor
error since file is opened for reading only

feof( )

এটি ফাইলের শেষ পর্যন্ত পৌঁছেছে কিনা তা পরীক্ষা করার জন্য ব্যবহার করা হয় (বা) হয়নি।

feof() ফাংশনের সিনট্যাক্স নিম্নরূপ −

সিনট্যাক্স

int feof (file pointer);

উদাহরণস্বরূপ,

উদাহরণ

FILE *fp;
if (feof (fp))
printf ("reached end of the file");

এটি একটি অ-শূন্য প্রদান করে, যদি সাফল্য এবং শূন্য হয়, অন্যথায়।

প্রোগ্রাম

feof() ফাংশন −

ব্যবহারের জন্য C প্রোগ্রামটি নিচে দেওয়া হল
#include<stdio.h>
main ( ){
   FILE *fp;
   int i,n;
   fp = fopen ("number. txt", "w");
   for (i=0; i<=100;i= i+10){
      putw (i, fp);
   }
   fclose (fp);
   fp = fopen ("number. txt", "r");
   printf ("file content is");
   for (i=0; i<=100; i++){
      n = getw (fp);
      if (feof (fp)){
         printf ("reached end of file");
         break;
      }else{
         printf ("%d", n);
      }
   }
   fclose (fp);
   getch ( );
}

আউটপুট

যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -

File content is
10 20 30 40 50
60 70 80 90 100
Reached end of the file.

  1. C ভাষায় putw() এবং getw() ফাংশন ব্যাখ্যা কর

  2. ঠিক করুন:আউটলুক ত্রুটি 0x8004060c

  3. MS-সেটিংস ফাইল সিস্টেম ত্রুটি (-2147219200)

  4. ফাইল সিস্টেম ত্রুটি (-2147219194) Windows 10