If you are using windows, I would suggest building a simplified GUI with a text-input field.
However, you have an option in the .NET framework to use System.Console.KeyAvailable with System.Console.ReadKey. This is the solution I would use in C# (but also available for C++)
For Windows: The SO questions in this threadthis thread suggest using conio.h which is a non-standard C library in certain "MS-DOS Compilers" which include functions similar to KeyAvailable and ReadKey. Such as kbhit and _getch it also lists PeekConsoleInput and ReadConsoleInput which I think are windows.h functions.
For Linux/POSIX systems, I'd suggest ncurses. I haven't used it in a long while, but I enjoyed it.