C Programming/C Reference/stdio.h/getc

From Wikibooks, open books for an open world
Jump to: navigation, search

getc is one of the character input function. getc reads next character from file and it needs file pointer to tell it which file. It is simplest function to read the file.

Like getchar, getc() may be implemented macro instead of function. getc is equivalent to fgetc. getc returns the next character from the stream referred to by fp; it returns EOF for End Of File or error.

Syntax[edit]

int getc( FILE * stream);

Here, parameter stream is the pointer to a FILE object which identify the stream on which the operation is to be performed.

Example[edit]

/*getc example*/

#include <stdio.h>
int main()
{
FILE *fp;
int c;
int n = 0;
fp = fopen("myfile.txt", "r");
  if(fp == NULL)
     perror ("Error opening file");
  else
  {
     do  {
         c = getc(fp);
         if(c == '#')
         n++;
         }
     while(c != EOF);
  fclose(fp);
  printf ("File contains %d#.\n",n);
  }
 return 0;
 }

Above program read the file called myfile.txt character by character and uses n variable to count '#' character contained in file.

Return Value[edit]

Character read is returned as an int value.

If the End-of-File is reached or error in reading occurs, function returns EOF and corresponding error indicator. We can use either ferror or feof to determine whether an error happened or EOF reached.

See also[edit]

fgetc

ungetc

getchar

Reference[edit]

External Links[edit]