basic_istream::putback() in C++ with Examples

Last Updated : 15 Jul, 2025
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: CPP14
// 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: CPP14
// 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: https://cplusplus.com/reference/istream/istream/putback/
Comment