C fgetc() function

C library function - fgetc()

The fgetc() function is used to read a single unsigned character from the input stream at the current position and increases the associated file pointer, if any, so that it points to the next character.


int fgetc(FILE *stream)


Name Description Required /Optional
stream Identifies an address for a file descriptor, which is an area of memory associated with an input or output stream. Required

Return value

  • Upon successful completion, fgetc() shall return the next byte from the input stream pointed to by stream.
  • If the end-of-file indicator for the stream is set, or if the stream is at end-of-file, the end-of-file indicator for the stream shall be set and fgetc() shall return EOF.

Example: fgetc() function

The following example gathers a line of input from a stream:

#include <stdio.h>
#define  MAX_LEN  80 
int main(void)
   FILE *stream;
   char buffer[MAX_LEN + 1];
   int i, c;
   stream = fopen("test.txt","r");
   for (i = 0; (i < (sizeof(buffer)-1) &&
         ((c = fgetc(stream)) != EOF) && (c != '\n')); i++)
      buffer[i] = c;
   buffer[i] = '\0';
   if (fclose(stream))
      perror("fclose error");
   printf("Text from the file : %s\n", buffer);


Text from the file : C Language.

C Programming Code Editor:

Previous C Programming: C sscanf()
Next C Programming: C fgets()

Follow us on Facebook and Twitter for latest update.