| istream::putback |
public member function |
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
*thisErrors 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. |
Additionaly, 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
// 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> )
typedef charT char_type;
basic_istream& putback ( char_type c );
|
See also
| istream::get | Get unformatted data from stream (public member function) |