|
Peek next character
Reads and returns the next character without extracting it, i.e. leaving it as the next character to be extracted from the stream.
Parameters
none
Return Value
The value of the next character.
In the case of error, the function returns EOF (or traits::eof() for other traits) and modifies the state flags accordingly:
flag | error |
eofbit | The end of the source of characters is reached during its operations. |
failbit | - |
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
|
// istream peek
#include <iostream>
using namespace std;
int main () {
char c;
int n;
char str[256];
cout << "Enter a number or a word: ";
c=cin.peek();
if ( (c >= '0') && (c <= '9') )
{
cin >> n;
cout << "You have entered number " << n << endl;
}
else
{
cin >> str;
cout << " You have entered word " << str << endl;
}
return 0;
}
|
Basic template member declaration
( basic_istream<charT,traits> )
1 2
|
typedef traits::int_type int_type;
int_type peek ( );
|
See also
istream::get | Get unformatted data from stream (public member function) |
|