Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Microsoft C 6.0 - <b>_strerror() save system error message</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
 _strerror()             Save System Error Message

 #include   <string.h>                   Required for declarations only

 char       *_strerror(string);
 char       *string;                     User supplied message

    _strerror() generates customized error messages.

    Returns:    If 'string' is NULL, returns a pointer to the most
                recently generated system error message.  The error-
                message string is terminated by a new-line character. The
                error number is stored in 'errno' (defined in
                <stdlib.h>). _strerror() accesses the error message by
                using the 'errno' value as an index to 'sys_errlist',
                which holds the system error messages.

                If 'string' is not NULL, _strerror() returns a pointer to
                a string that contains the customized error message
                (supplied as the argument to '_strerror'; can be up to 94
                bytes long), a colon, a space, the last system error
                message, and a new-line character.

      Notes:    Call _strerror() immediately after a routine returns,
                before 'errno' is overwritten by subsequent routine
                calls.

                _strerror() is unlike perror() in that it does not
                actually print any messages.  The program is responsible
                for printing the returned message, as shown in the
                example below.

 Portability:   MS-DOS only. For ANSI compatibility, use strerror()
                instead of _strerror().

   -------------------------------- Example ---------------------------------

    This example tries to open a file, and prints a customized error
    message and exits if unable to do so.

           #include <string.h>
           #include <stdio.h>             /* for printf*/
           #include <fcntl.h>             /* constants defined */
           #include <sys\types.h>
           #include <sys\stat.h>          /* constants defined */
           #include <io.h>                /* for open */

           int fh;

           main()
           {
                 if ((fh = open("invoice.dat",O_RDWR)) == -1)
                    printf(_strerror("ERROR OPENING INVOICE FILE"));
                    exit(1);
           }


See Also: strerror() perror()

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson