Defined in header <cstdio> | ||
|---|---|---|
int fgetc( std::FILE* stream ); int getc( std::FILE* stream ); |
Reads the next character from the given input stream.
| stream | - | to read the character from |
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.
#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 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");
is_ok = EXIT_SUCCESS;
}
std::fclose(fp);
return is_ok;
}Output:
End of file reached successfully
|
(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 |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/c/fgetc