getchar

From cppreference.com
< clrm; | io
File input/output
Functions
File access
Direct input/output
Unformatted input/output
getchar
(until C11)(since C11)
(C95)(C95)
(C95)
(C95)(C95)
(C95)
(C95)
Formatted input
Formatted output
File positioning
Error handling
Operations on files
Defined in header <stdio.h>
int getchar(void);

Reads the next character from stdin.

Equivalent to getc(stdin).

Parameters

(none)

Return value

The obtained character on success or EOF on failure.

If the failure has been caused by end-of-file condition, additionally sets the eof indicator (see feof()) on stdin. If the failure has been caused by some other error, sets the error indicator (see ferror()) on stdin.

Example

getchar with error checking

#include <stdio.h>
#include <stdlib.h>

int main(void)
{ 
    int ch;
    while ((ch=getchar()) != EOF)   /* read/print "abcde" from stdin */
          printf("%c", ch);

    /* Test reason for reaching EOF. */
    if (feof(stdin))          /* if failure caused by end-of-file condition */
       puts("End of file reached");
    else if (ferror(stdin))   /* if failure caused by some other error      */
         {
            perror("getchar()");
            fprintf(stderr,"getchar() failed in file%s at line #%d\n", __FILE__,__LINE__-9);
            exit(EXIT_FAILURE);
         }

    return EXIT_SUCCESS;
}

Output:

abcde
End of file reached

References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.21.7.6 The getchar function (p: 332)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.19.7.6 The getchar function (p: 298)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.9.7.6 The getchar function

See also

gets a character from a file stream
(function)