Content-type: text/html Man page of errno

errno

Section: File Formats (5)
Index Return to Main Contents
 

NAME

errno - Returns error condition value  

SYNOPSIS

#include <errno.h>


 

DESCRIPTION

The errno external variable contains the most recent error condition set by a function. The symbolic values for errno are listed in the intro reference page and in the ERRORS section of the individual reference pages for each function.

The exec() functions set errno to a value of 0 (zero) after successful completion. Typically, other functions only set errno to a nonzero value.
 

EXAMPLES

The following program uses the value of errno to determine why the requested file could not be opened. If errno has one of the two tested values, the program prints an appropriate message; otherwise, the program uses the error() function to print out the appropriate message. This program does not have to set errno to a value of 0 (zero) because errno is tested only if the open() function has failed.

#include <errno.h> #include <stdio.h> #include <string.h> #include <fcntl.h> #include <sys/stat.h> #include <sys/types.h> #define SLENGTH 80

main() {
    char filespec[SLENGTH], *eol;
    int opret;
    while (TRUE) {
        printf("Enter file to be checked: ");
        fgets(filespec, SLENGTH, stdin);
        if ((eol = strchr(filespec, '\n')) != NULL) {
            *eol = '\0';  /* Replace newline with null */
            if (*filespec == '\0') return; /* exit program */
            opret = open(filespec,O_RDONLY,0);
            if (opret > 0)
              printf("%s: File exists\n",filespec);
            else if (errno == ENOENT)
              printf("%s: File does not exist\n",filespec);
            else if (errno == ENOTDIR)
              printf("%s: Prefix in path is not a directory\n",
                filespec);
            else
              perror(filespec);


        } else           /* Line entered too long */
          printf("Line entered is too long\n");
    } }


 

NOTES

To ensure that your programs are portable, you should not explicitly declare errno to be an extern int in your program. You should rely on the type int declaration in the <errno.h> include file. Full use.
 

SEE ALSO

Functions: intro(2), perror(3), strerror(3)


 

Index

NAME
SYNOPSIS
DESCRIPTION
EXAMPLES
NOTES
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 02:43:11 GMT, October 02, 2010