I wrote a rot13 text filter as my first C++ application. In Windows 2000, I compiled with Borland 5.5. For Linux, I'm using Debian etch for amd64 with bash. All of my I/O is done with iostream cin.getline and cout.
An optional command line parameter is used to indicate if you want to also apply rot5 to digits. Any other command line parameter gets you the help message.
echo testing123 | rot13 r5
works just as expected
But in Linux.
echo testing123 | rot13
results in the screen being cleared (or maybe just a lot of blank lines) and then nothing. The process sits there using 47% of the CPU. If I type something, what I typed is rot13'ed and the process ends ok. So why isn't the pipe working?