std::fgetc,std::getc (3) - Linux Man Pages

std::fgetc,std::getc: std::fgetc,std::getc

NAME

std::fgetc,std::getc - std::fgetc,std::getc

Synopsis


Defined in header <cstdio>
int fgetc( std::FILE* stream );
int getc( std::FILE* stream );


Reads the next character from the given input stream.

Parameters


stream - to read the character from

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 std::feof()) on stream. If the failure has been caused by some other error, sets the error indicator (see std::ferror()) on stream.

Example


// Run this code


  #include <cstdio>
  #include <cstdlib>


  int main()
  {
      FILE* fp = std::fopen("test.txt", "r");
      if(!fp) {
          std::perror("File opening failed");
          return EXIT_FAILURE;
      }


      int c; // note: int, not char, required to handle EOF
      while ((c = std::fgetc(fp)) != EOF) { // standard C I/O file reading loop
         std::putchar(c);
      }


      if (std::ferror(fp))
          std::puts("I/O error when reading");
      else if (std::feof(fp))
          std::puts("End of file reached successfully");


      std::fclose(fp);
  }

See also


gets reads a character string from stdin
                      (function)
(deprecated in C++11)
(removed in C++14)
                      writes a character to a file stream
fputc (function)
putc
                      puts a character back into a file stream
ungetc (function)