Use the perror() function to find out more about the error.
#include <stdio.h> #include <stdlib.h> int main(void){ FILE *fp; if((fp=fopen("test", "rb"))==NULL) { printf("Cannot open file.\n"); exit(1); } putc('C', fp); if(ferror(fp)) { printf("File Error\n"); exit(1); } fclose(fp); return 0; }