12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- // peeker.cpp -- some istream methods
- #include <iostream>
- int main()
- {
- using std::cout;
- using std::cin;
- using std::endl;
- // read and echo input up to a # character
- char ch;
- while(cin.get(ch)) // terminates on EOF
- {
- if (ch != '#')
- cout << ch;
- else
- {
- cin.putback(ch); // reinsert character
- break;
- }
- }
- if (!cin.eof())
- {
- cin.get(ch);
- cout << endl << ch << " is next input character.\n";
- }
- else
- {
- cout << "End of file reached.\n";
- std::exit(0);
- }
- while(cin.peek() != '#') // look ahead
- {
- cin.get(ch);
- cout << ch;
- }
- if (!cin.eof())
- {
- cin.get(ch);
- cout << endl << ch << " is next input character.\n";
- }
- else
- cout << "End of file reached.\n";
- // keeping output window open
- /*
- cin.clear();
- while (cin.get() != '\n')
- continue;
- cin.get();
- */
- return 0;
- }
|