It is used to put character back.
Following is the declaration for std::basic_istream::putback.
basic_istream& putback (char_type c);
c − Character to be put back.
Returns the basic_istream object (*this).
Basic guarantee − if an exception is thrown, the object is in a valid state.
Modifies the stream object.
In below example for std::basic_istream::putback.
#include <iostream> #include <string> int main () { std::cout << "Please, enter a number or a word: "; char c = std::cin.get(); if ( (c >= '0') && (c <= '9') ) { int n; std::cin.putback (c); std::cin >> n; std::cout << "You entered a number: " << n << '\n'; } else { std::string str; std::cin.putback (c); getline (std::cin,str); std::cout << "You entered a word: " << str << '\n'; } return 0; }
The output should be like this −
Please, enter a number or a word: pocket You entered a word: pocket