파일에서 발생하는 일부 오류는 다음과 같습니다. -
- 파일 끝을 넘어서 읽으려고 합니다.
- 장치 오버플로.
- 잘못된 파일을 열려고 합니다.
- 다른 모드에서 파일을 열면 잘못된 작업이 수행됩니다.
오류 처리를 위한 함수
오류 처리를 위한 기능은 다음과 같습니다 -
- 오류( )
- 오류( )
- 페프( )
오류( )
읽기 또는 쓰기 작업을 수행하는 동안 오류를 감지하기 위한 것입니다.
구문은 다음과 같습니다 -
int ferror (file pointer);
예를 들어,
FILE *fp; if (ferror (fp)) printf ("error has occurred”);
성공하면 0을 반환하고 다른 경우에는 0이 아닌 값으로 반환합니다.
오류( )
에러를 출력할 때 사용합니다.
콜론, 공백 및 현재 오류 값의 텍스트 표현이 뒤따르는 전달되는 문자열을 보여줍니다.
구문은 다음과 같습니다 -
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.
페프( )
파일의 끝에 도달했는지 여부를 확인하는 데 사용됩니다.
구문은 다음과 같습니다 -
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; 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.