Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 오류 처리 기능 설명

<시간/>

파일은 기록의 모음이거나 데이터가 영구적으로 저장되는 하드 디스크의 한 장소입니다.

파일 작업

C 프로그래밍 언어의 파일에 대한 작업은 다음과 같습니다. -

  • 파일 이름 지정
  • 파일 열기
  • 파일에서 읽기
  • 파일에 쓰기
  • 파일 닫기

구문

파일을 여는 구문은 다음과 같습니다 -

FILE *File pointer;

예를 들어, 파일 * fptr;

파일 이름을 지정하는 구문은 다음과 같습니다. -

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

예를 들어,

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

파일에서 오류 처리

파일의 일부 오류는 다음과 같습니다 -

  • 파일 끝을 넘어서 읽으려고 합니다.
  • 장치 오버플로.
  • 잘못된 파일을 열려고 합니다.
  • 다른 모드에서 파일을 열어 잘못된 작업을 수행합니다.

오류( )

읽기/쓰기 작업을 수행하는 동안 오류를 감지하는 데 사용됩니다.

ferror() 함수의 구문은 다음과 같습니다 -

구문

int ferror (file pointer);

예를 들어,

예시

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

성공하면 0을 반환하고 0이 아니면 반환합니다.

프로그램

다음은 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");

성공하면 0이 아닌 값을 반환하고 그렇지 않으면 0을 반환합니다.

프로그램

다음은 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.