# perror

From cppreference.com
< c‎ | io

Defined in header `<stdio.h>` |  |
void perror( const char *s ); |  |

Prints to stderr the contents of the null-terminated character string pointed to by `s` (unless `s` is a null pointer), followed by the two characters ": ", followed by the implementation-defined error message describing the error code currently stored in the system variable errno (identical to the output of strerror(errno)), followed by '\n'.

### Parameters

s | - | pointer to a null-terminated string with explanatory message

### Return value

(none)

### Example

Run this code

    #include <stdio.h>

    int main(void)
    {
        FILE* f = fopen("non_existent", "r");
        if (f == NULL) {
            perror("open()");
        } else {
            fclose(f);
        }
    }

Output:

    open(): No such file or directory

### References

- C11 standard (ISO/IEC 9899:2011):

  - 7.21.10.4 The perror function (p: 339)

- C99 standard (ISO/IEC 9899:1999):

  - 7.19.10.4 The perror function (p: 305)

- C89/C90 standard (ISO/IEC 9899:1990):

  - 4.9.10.4 The perror function

### See also

strerror strerror_s strerrorlen_s (C11)(C11) | returns a text version of a given error code (function)
C++ documentation for perror

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=c/io/perror&oldid=78950"