posted Dec 2, 2010, 4:32 PM by Neil Mathew
[
updated Dec 2, 2010, 4:49 PM
]
1: // file error handling 2: #include <stdio.h> 3: 4: #define ERR_OPEN_1 11 5: #define ERR_OPEN_2 12 6: #define ERR_READ 13 7: #define ERR_WRITE 14 8: 9: int f_err_report(int mode) { 10: if(mode==ERR_OPEN_1) printf("error opening file1n"); 11: if(mode==ERR_OPEN_2) printf("error opening file2n"); 12: else if(mode==ERR_READ) printf("error reading from file"); 13: else if(mode==ERR_WRITE) printf("error writing to file"); 14: exit(1); 15: } 16: 17: int main(int argc, char *argv[]) 18: { 19: if(argc<3) { printf("%s <file1> <file2>n",argv[0]); exit(1); } 20: char ch; 21: FILE *fp,*fp2; 22: if((fp=fopen(argv[1],"r"))==NULL) f_err_report(ERR_OPEN_1); 23: if((fp2=fopen(argv[2],"w"))==NULL) f_err_report(ERR_OPEN_2); 24: while(!feof(fp)) { 25: ch=getc(fp); 26: if(ferror(fp)) f_err_report(ERR_READ); 27: if(!feof(fp)) 28: putc(ch,fp2); 29: else break; 30: if(ferror(fp)) f_err_report(ERR_WRITE); 31: } 32: fclose(fp); 33: fclose(fp2); 34: return 0; 35: } 36:
|
|
|