I looked around, and would flushing the input stream help somehow?
No. You need raw input because otherwise by the time your program gets any characters, a newline has already been displayed by the shell. Unless you've replaced the compiler, Code::Blocks supports raw character input by way of getch():
using namespace std;
while (getch() != '\r')
cout << "Hello " << flush;
cout << "there\n";
This will just have the effect of printing the second part when the user presses enter (and it will ignore any other characters typed, but they will still display on the screen, and so will the enter character (it will make a new line)).