Character mode (or "command-line") applications:
- [Optionally] Read data from standard input (stdin)
- Do "work"
- [Optionally] Write data to standard output (stdout) or standard error (stderr)
Character mode applications communicate with the end-user through a "console" (or "terminal") application. A console converts user input from keyboard, mouse, touch-screen, pen, etc., and send it to a character mode application's stdin. A console may also display a character mode application's text output on the user's screen.
In Windows, the console is built-in and provides a rich API through which character mode applications can interact with the user.



