For binary operations, you can use ferror() to determine whether an error has actually occurred.
#include <stdio.h> #include <stdlib.h> int main(void) { FILE *fp; if((fp=fopen("test", "wb"))==NULL) { printf("Cannot open file.\n"); exit(1); } char *str = "www.java2s.com"; while(*str){ if(!ferror(fp)) { fputc(*str++, fp); } } fclose(fp); }