Name
      
      fgetc, getc, getc_unlocked, getchar, getchar_unlocked, getw 
      
      
      - input of characters and strings
      
      
      
      
         
         Library
      
      
      
      
      libc.lib
      
      
      
      
         
         Synopsis
      
      
      
      
      
      
      
         
            |  | int
               
               
               fgetc (FILE *stream); 
 | 
      
      
      
         
            |  | int
               
               
               getc_unlocked (FILE *stream); 
 | 
      
      
      
         
            |  | int
               
               
               getchar_unlocked (void); 
 | 
      
      
      
         
         Return values
      
      
      If successful, these routines return the next requested object
      from the
      
      
       stream.
      Character values are returned as an
      
      
      unsigned char
      converted to an
      
      
      int.
      If the stream is at end-of-file or a read error occurs,
      the routines return
      
      
       EOF.
      The routines
      and
      
      
      ferror
      must be used to distinguish between end-of-file and error.
      If an error occurs, the global variable
      
      
       errno
      is set to indicate the error.
      The end-of-file condition is remembered, even on a terminal, and all
      subsequent attempts to read will return
      
      
       EOF
      until the condition is cleared with
      
      
      
      
         
         Detailed description
      
      
      The
      
      
       fgetc
      function
      obtains the next input character (if present) from the stream pointed at by
      
      
       stream,
      or the next character pushed back on the stream via
      
      
      ungetc.
      
      
      
      
         The
         
         
          getc
         function
         acts essentially identically to
         
         
          fgetc,
         but is a macro that expands in-line.
         
         
         
      
      
         The
         
         
          getchar
         function
         is equivalent to
         
         
         getc (stdin.);
         
         
         
         
      
      
         The
         
         
          getw
         function
         obtains the next
         
         
         int
         (if present)
         from the stream pointed at by
         
         
          stream.
         
         
         
      
      
         The
         
         
          getc_unlocked
         and
         
         
          getchar_unlocked
         functions are equivalent to
         
         
          getc
         and
         
         
          getchar
         respectively,
         except that the caller is responsible for locking the stream
         with
         
         
         flockfile
         before calling them.
         These functions may be used to avoid the overhead of locking the stream
         for each character, and to avoid input being dispersed among multiple
         threads reading from the same stream.
         
         
         
      
      
         
         Examples
      
      
      
      
      
/****************** this program shows reading from file using getc **************/
/****************** consider input.txt has the following content: ****************/
/****************** hi ***********************************************************/
#include <stdio.h>
int main(void)
{
        int retval;
        FILE* fp = fopen("c:\nput.txt", "w");
        fprintf(fp, "%s", "abcdefghijklmn");
        fprintf(fp, "%c", ’\n’);
        fprintf(fp, "%s", "fdsfdsafsdabcdefghijklmn");
        fclose(fp);
        fp = fopen("C:\nput.txt","r");
        if(fp == NULL)
        {
        printf("fopen failed\n");
        return -1;
        }
        while((int)(retval = getc(fp) )!= EOF)
        {
        printf("%c", retval);
        }
        fclose(fp);
        return 0;
}
         
      
      
      
      
         Output
         
         
         
      
hi
         
      
         
         See also
      
      
      
      
      ferror,
      
      
      flockfile,
      
      
      fopen,
      
      
      fread,
      
      
      getwc,
      
      
      putc,
      
      
      ungetc
      
      
      
      
         
         Limitation
      
      
      Since
      
      
       EOF
      is a valid integer value,
      
      
      feof
      and
      
      
      ferror
      must be used to check for failure after calling
      
      
       getw.
      The size and byte order of an
      
      
      int
      varies from one machine to another, and
      
      
       getw
      is not recommended for portable applications.
      
      
      
      
         
      
      
      Feedback
For additional information or queries on this page send feedback	
      
      
         
         
         
            
               | © 2005-2007 Nokia  | 
 |