perror(S) 6 January 1993 perror(S) Name perror - system error messages Syntax cc . . . -lc void perror (s) const char *s; extern int errno; extern char *sys_errlist[]; extern int sys_nerr; Description The perror function produces a message on the standard error output, describing the last error encountered during a call to a system or library function. The argument string s is printed first, then a colon and a blank, then the message and a new-line. (However, if s=" ", the colon is not printed.) To be of most use, the argument string should include the name of the program that incurred the error. The error num- ber is taken from the external variable errno, which is set when errors occur but not cleared when non-erroneous calls are made. To simplify variant formatting of messages, the array of message strings syserrlist is provided; errno can be used as an index into this table to get the message string without the new-line. sysnerr is the number of messages in the table; it should be checked because new error codes may be added to the system before they are added to the table. See also Intro(S) Standards conformance errno is conformant with: AT&T SVID Issue 2; X/Open Portability Guide, Issue 3, 1989; Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2); IEEE POSIX Std 1003.1-1990 System Application Program Interface (API) [C Language] (ISO/IEC 9945-1); and NIST FIPS 151-1. perror is conformant with: AT&T SVID Issue 2; X/Open Portability Guide, Issue 3, 1989; ANSI X3.159-1989 Programming Language -- C; IEEE POSIX Std 1003.1-1990 System Application Program Interface (API) [C Language] (ISO/IEC 9945-1); and NIST FIPS 151-1. syserrlist and sysnerr are conformant with: AT&T SVID Issue 2; however, syserrlist and sysnerr have been withdrawn from XPG3.