std::fgetc, std::getc
From cppreference.com
Defined in header <cstdio> | ||
Reads the next character from the given input stream.
Contents |
[edit]Parameters
stream | - | to read the character from |
[edit]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.
[edit]Example
Run this code
#include <cstdio>#include <cstdlib> int main(){int is_ok =EXIT_FAILURE; FILE* fp =std::fopen("/tmp/test.txt", "w+");if(!fp){std::perror("File opening failed");return is_ok;} int c;// Note: int, not char, required to handle EOFwhile((c = std::fgetc(fp))!=EOF)// Standard C I/O file reading loopstd::putchar(c); if(std::ferror(fp))std::puts("I/O error when reading");elseif(std::feof(fp)){std::puts("End of file reached successfully"); is_ok =EXIT_SUCCESS;} std::fclose(fp);return is_ok;}
Output:
End of file reached successfully
[edit]See also
(deprecated in C++11)(removed in C++14) | reads a character string from stdin (function) |
writes a character to a file stream (function) | |
puts a character back into a file stream (function) | |
C documentation for fgetc, getc |