56 lines
1.0 KiB
C++
56 lines
1.0 KiB
C++
// 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;
|
|
}
|