suggest change

If perror is not flexible enough, you may obtain a user-readable error description by calling strerror from <string.h>.

int main(int argc, char *argv[])
    FILE *fout;
    int last_error = 0;

    if ((fout = fopen(argv[1], "w")) == NULL) {
        last_error = errno;
         /* reset errno and continue */
         errno = 0;

    /* do some processing and try opening the file differently, then */
if (last_error) {
    fprintf(stderr, "fopen: Could not open %s for writing: %s", 
            argv[1], strerror(last_error));
    fputs("Cross fingers and continue", stderr);

/* do some other processing */


Feedback about page:

Optional: your email if you want me to get back to you:

Table Of Contents