United States-English |
|
|
HP-UX Reference > Pperror(3C)HP-UX 11i Version 3: February 2007 |
|
NAMEperror(), strerror(), strerror_r() — write system error messages SYNOPSIS#include <stdio.h> void perror(const char *s); #include <string.h> char *strerror(int errnum); #include <errno.h> extern char *sys_errlist[]; extern int sys_nerr; #include <string.h> int strerror_r(int errnum, char *buffer, size_t buflen); DESCRIPTIONperror() writes a language-dependent message to 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, followed by a colon, a blank, the message, and a newline character. To be most useful, the argument string should include the name of the program that incurred the error. The error number is taken from the symbol errno, which is set when errors occur but not cleared when non-erroneous calls are made. The contents of the message is identical to those returned by the strerror() function with errno as the argument. If given a NULL string, the perror() function prints only the message and a newline character. To simplify variant formatting of messages, the strerror() function and the sys_errlist array of message strings are provided. The strerror() function maps the error number in errnum to a language-dependent error message string and returns a pointer to the string. The message string is returned without a newline character. errno can be used as an index into sys_errlist to get an untranslated message string without the newline character. sys_nerr is the largest message number provided for in the table; it should be checked because new error codes might be added to the system before they are added to the table. strerror() must be used to retrieve messages when translations are desired. The strerror_r() function maps the error number in errnum to a locale-dependent error message string and returns the string in the buffer pointed to by buffer, which has length buflen. EXTERNAL INFLUENCESEnvironment VariablesThe language of the message returned by strerror() and printed by perror() is specified by the LANG environment variable. If the language-dependent message is not available, or if LANG is not set or is set to the empty string, the default version of the message associated with the "C" language (see lang(5)) is used. RETURN VALUEperror() returns no value. If the errnum message number is valid, strerror() returns a pointer to a language-dependent message string. The array pointed to should not be modified by the program, and might be overwritten by a subsequent call to the function. If a valid errnum message number does not have a corresponding language-dependent message, strerror() uses errnum as an index into sys_errlist to get the message string. If the errnum message number is invalid, strerror() returns a pointer to a NULL string. Upon successful completion, strerror_r() returns 0. Otherwise, an error number is returned to indicate the error. ERRORSIf the strerror_r() function fails, it will return one of the following errors:
|
Printable version | ||
|