Please see my comment to the question.
In addition to that, note that decent professional console-only application are roughly classified into two classes. In first class, there are very few applications which act like fully-fledged command interpreters. CMD.EXE is one of them. The majority of such application is in the second class. They never use interactive input, by a number of very good reasons: it is very inconvenient, easy to loose a lot of typing work, and so on. Therefore, the application expect all the input only in
command line. If some pieces of data are to big to be put in a command-line parameter, some parameters can be file names, so a big chunk of data people can supply in a text or other file, using editors of their choice, which is way more convenient than typing in the console.
For help on parsing command line, please see my article:
Enumeration-based Command Line Utility[
^].
I also reference and recommend one more command-line library in my article.
—SA