std::fgetc, std::getc
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Input/output library
Print functions (C++23)
Buffers
(C++23)
(C++98/26*)
(C++20)
Streams
Abstractions
File I/O
String I/O
Array I/O
(C++23)
(C++23)
(C++23)
(C++98/26*)
(C++98/26*)
(C++98/26*)
Synchronized Output
(C++20)
Types
Error category interface
(C++11)
(C++11)
C-style I/O
Types and objects
Functions
File access
Direct input/output
Unformatted input/output
Formatted input
(C++11)(C++11)(C++11)
(C++11)(C++11)(C++11)
Formatted output
(C++11)
(C++11)
File positioning
Error handling
Operations on files
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 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
[edit] See also
C documentation for fgetc, getc