C语言中的错误处理技术是什么?

下面列出了文件中发生的一些错误-

  • 尝试读取文件末尾之外的内容。

  • 设备溢出。

  • 尝试打开无效的文件。

  • 通过以不同的模式打开文件来执行无效的操作。

错误处理功能

错误处理的功能如下-

  • 恐惧()

  • 恐怖()

  • 伪装()

恐惧()

用于在执行读取或写入操作时检测错误。

语法如下-

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()perror()函数的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.

伪装()

用于检查是否已到达文件末尾。

语法如下-

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.