Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

c++

How to use getc() in C++

Sadia Zubair

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

The getc function is a C library function that reads the single character value from an input stream.

In order to use the getc function, the stdio header file needs to be included in the program, as shown below:

#include <stdio.h>

Parameters

The function takes in one parameter: a pointer to a file object that recognizes an input stream.

Return Value

Upon successful execution of the function, it returns the integer value, i.e., the ASCII value of the read character. In case of errors, End-of-File (EOF) is returned. If the EOF condition causes the failure, it sets the EOF indicator feof on stream; else, it sets the error indicator to ferror.

Example

The code below explains how the getc function works:

  1. The “demo.txt” file is opened.
  2. The getc function reads the single character from the file in each iteration of the loop.
  3. The returned value from the function is stored in the variable of type int.
  4. In line 15, the putchar function converts the integer to a character and prints the standard output.
  5. After the standard file reading loop, error handling takes over.
main.cpp
demo.txt
#include <iostream>
#include <stdlib.h>
using namespace std;
int main() {
//file reading
FILE* file = fopen("demo.txt", "r");
int val;
// standard C I/O file reading loop
while (val = getc(file)) {
// breaks from the loop if EOF
if (val == EOF)
break;
putchar(val);
cout << endl;
}
// In case of an error ferror indictor is set true
if (ferror(file))
cout << "Error during file reading" << endl;
//In case when EOF is reached, then feof indicator is set true
if (feof(file))
cout << "Successful execution of function" << endl;
return 0;
}

RELATED TAGS

c++

CONTRIBUTOR

Sadia Zubair
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Keep Exploring