public member function
<istream>
istream& putback ( char c );
Put character back
Decrements the internal
get pointer by one, and
c becomes the character to be read at that position by the next input operation.
The function effectively calls the
sputbackc member function of the
streambuf object associated to the stream.
A subsequent call to member
gcount will return zero.
Parameters
- c
- The character to be put back.
Return Value
The function returns
*this
Errors are signaled by modifying the internal state flags:
flag | error |
eofbit | - |
failbit | The stream was at the end of the source of characters before the function was called. |
badbit | An error other than the above happened. |
Additionally, in any of these cases, if the appropriate flag has been set with member function
ios::exceptions, an exception of type
ios_base::failure is thrown.
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
// istream putback
#include <iostream>
using namespace std;
int main () {
char c;
int n;
char str[256];
cout << "Enter a number or a word: ";
c = cin.get();
if ( (c >= '0') && (c <= '9') )
{
cin.putback (c);
cin >> n;
cout << "You have entered number " << n << endl;
}
else
{
cin.putback (c);
cin >> str;
cout << " You have entered word " << str << endl;
}
return 0;
}
|
Basic template member declaration
( basic_istream<charT,traits> )
1 2
|
typedef charT char_type;
basic_istream& putback ( char_type c );
|
See also
- istream::get
- Get unformatted data from stream (public member function)
- istream::unget
- Decrement get pointer (public member function)