

#include <stdio.h> void perror(const char *prefix);
perror writes a diagnostic message to the standard error file,
stderr. The message is preceded by the prefix string, a colon,
and a blank. It is followed by a new-line character.
The text of the message is based on the value of the external integer
errno, which is set by the library when an error or warning
condition is detected.
Note:
If the library writes a diagnostic for an error condition, this message is
usually more precise than the message that would be written by perror.
This is because, in many cases, one value for errno corresponds to a
number of different conditions, and other information about the error (for
example, the name of a file) is unavailable to perror.
The texts of the messages and the precise meanings of the possible errno
values are implementation dependent. The texts and explanations of the SAS/C
library messages are provided in the SAS/C Software Diagnostic Messages, First Edition .
perror has no return value.
#include <stdio.h>
#include <errno.h>
main()
{
FILE *f;
quiet(1); /* Suppress library messages. */
f = fopen("myfile","r");
if (!f)
if (errno == ENFOUND) fprintf(stderr,
"Error in input phase: myfile not found.n");
else perror("error in input phase");
quiet(0); /* Allow messages again. */
}
quiet, strerror
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.