কম্পিউটার

সি ভাষায় ত্রুটি পরিচালনার কৌশলগুলি কী কী?


ফাইলগুলিতে ঘটে এমন কিছু ত্রুটি নীচে তালিকাভুক্ত করা হয়েছে -

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

ত্রুটি পরিচালনার জন্য ফাংশন

ত্রুটি পরিচালনার জন্য ফাংশন নিম্নরূপ -

  • ferror ( )
  • অপরাধ ( )
  • feof ( )

ভয়ের ( )

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

সিনট্যাক্স নিম্নরূপ -

int ferror (file pointer);

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

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

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

অপরাধ ( )

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

এটি স্ট্রিংটি দেখায় যা এটিতে যায়, যার পরে একটি কোলন, একটি স্থান এবং বর্তমান ত্রুটি মানের পাঠ্য উপস্থাপনা থাকে৷

সিনট্যাক্স নিম্নরূপ -

perror (string variable);

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

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

আউটপুট

Error is: error 0

উদাহরণ

ferror ( ) ব্যবহারের জন্য C প্রোগ্রামটি নিচে দেওয়া হল এবং অপরাধ ( ) ফাংশন −

#include<stdio.h>
main ( ){
   FILE *fp;
   char str[30] = "error is";
   int i = 20;
   clrscr ( );
   fp = fopen ("sample. txt", "r");
   if (fp = = NULL){
      printf ("file doesnot exist");
   } else {
      fprintf (fp, "%d", i);
      if (ferror (fp)){
         perror (str);
         printf ("error ");
   }
   fclose (fp);
   getch ( );
}

আউটপুট

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

Error is: Error1 compiler generated.
Error.

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;
   clrscr ( );
   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. সি ভাষায় সারিতে সন্নিবেশ করা উপাদানগুলি কী কী?

  2. সি ভাষায় উচ্চ স্তরের I/O ফাংশনগুলি কী কী?

  3. সি ভাষায় শিফট অপারেশন কি কি?

  4. সি ভাষায় বিভিন্ন অনুসন্ধান কৌশল কি কি?