High-Level Console Input and Output Functions
The
ReadFile and
WriteFile functions, or the
ReadConsole and
WriteConsole functions, enable an application to read console input and write console
output as a stream of characters.
ReadConsole and
WriteConsole behave exactly like
ReadFile and
WriteFile except that they can be used either as wide-character functions (in which
text arguments must use Unicode) or as ANSI functions (in which text arguments
must use characters from the Windows 3.
x character set). Applications that need to maintain a single set of sources to
support either Unicode or the ANSI character set should use
ReadConsole and
WriteConsole.
ReadConsole and
WriteConsole can only be used with console handles;
ReadFile and
WriteFile can be used with other handles (such as files or pipes).
ReadConsole and
WriteConsole fail if used with a standard handle that has been redirected and is no longer
a console handle.
To get keyboard input, a process can use
ReadFile or
ReadConsole with a handle of the console's input buffer, or it can use
ReadFile to read input from a file or a pipe if STDIN has been redirected. These
functions only return keyboard events that can be translated into ANSI characters
(or Unicode characters in the case of
ReadConsole). The input that can be returned includes control key combinations. The
functions do not return keyboard events involving the function keys or arrow keys.
Input events generated by mouse, window, focus, or menu input are discarded.
If line input mode is enabled (the default mode),
ReadFile and
ReadConsole do not return to the calling application until the ENTER key is pressed. If line input mode is disabled, the functions do not return
until at least one character is available. In either mode, all available
characters are read until either no more keys are available or the specified number of
characters has been read. Unread characters are buffered until the next read
operation. The functions report the total number of characters actually read. If
echo input mode is enabled, characters read by these functions are written to
the active screen buffer at the current cursor position.
A process can use
WriteFile or
WriteConsole to write to either an active or inactive screen buffer, or it can use
WriteFile to write to a file or a pipe if STDOUT has been redirected. Processed output
mode and wrap at EOL output mode control the way characters are written or
echoed to a screen buffer.
Characters written by
WriteFile or
WriteConsole, or echoed by
ReadFile or
ReadConsole, are inserted in a screen buffer at the current cursor position. As each
character is written, the cursor position advances to the next character cell;
however, the behavior at the end of a row depends on the screen buffer's wrap at
EOL output mode. An application can use the
GetConsoleScreenBufferInfo function to determine the current cursor position and the
SetConsoleCursorPosition function to set the cursor position.
For an example that uses the high-level console I/O functions, see
Using the High-Level Input and Output Functions.
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database