Skip to content
Related Articles

Related Articles

basic_istream::putback() in C++ with Examples
  • Last Updated : 28 May, 2020

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.
My Personal Notes arrow_drop_up
Recommended Articles
Page :