basic_istream::putback() in C++ with Examples
The basic_istream::putback() used to put the character back in the input string. This function is present in the iostream header file. Below is the syntax for the same:
Header File:
#include<iostream>
Syntax:
basic_istream& putback (char_type ch);
Parameter:
- ch: It represents the character to be put into the input string back.
Return Value: The iostream::basic_istream::putback() return the basic_istream object.
Below are the programs to understand the implementation of std::basic_istream::putback() in a better way:
Program 1:
// C++ code for basic_istream::putback() #include <bits/stdc++.h> using namespace std; int main() { stringstream gfg1( "GeeksforGeeks" ); gfg1.get(); // putback A into the input string if (gfg1.putback( 'A' )) cout << gfg1.rdbuf() << endl; istringstream gfg2( "GeeksforGeeks" ); gfg2.get(); if (gfg2.putback( 'A' )) cout << gfg2.rdbuf() << endl; else cout << "putback is failed here\n" ; gfg2.clear(); // Again putback G in the string if (gfg2.putback( 'G' )) cout << gfg2.rdbuf() << endl; } |
Output:
AeeksforGeeks putback is failed here GeeksforGeeks
Program 2:
// C++ code for basic_istream::putback() #include <bits/stdc++.h> using namespace std; int main() { stringstream gfg1( "GOOD" ); gfg1.get(); // putback B into the input string if (gfg1.putback( 'B' )) cout << gfg1.rdbuf() << endl; istringstream gfg2( "GOOD" ); gfg2.get(); if (gfg2.putback( 'B' )) cout << gfg2.rdbuf() << endl; else cout << "putback is failed here\n" ; gfg2.clear(); // Again putback G in the string if (gfg2.putback( 'G' )) cout << gfg2.rdbuf() << endl; } |
Output:
BOOD putback is failed here GOOD
Reference: http://www.cplusplus.com/reference/istream/istream/putback/
Want to learn from the best curated videos and practice problems, check out the C++ Foundation Course for Basic to Advanced C++ and C++ STL Course for foundation plus STL. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.