Next: putchar Up: Character Input / Previous: Character Input /


getchar returns the next character of keyboard input as an int. If there is an error then EOF (end of file) is returned instead. It is therefore usual to compare this value against EOF before using it. If the return value is stored in a char, it will never be equal to EOF, so error conditions will not be handled correctly.

As an example, here is a program to count the number of characters read until an EOF is encountered. EOF can be generated by typing Control - d.

  #include <stdio.h>

  {   int ch, i = 0;

      while((ch = getchar()) != EOF)
          i ++;

      printf("%d\n", i);
Tue Jan 17 11:40:37 GMT 1995