Win32 supports a character mode API set. The purpose of this API set is to provide a processor-independent mechanism that allows character-mode applications to be ported easily to the Windows environment, This API set includes limited support for:
 Standard Input, Output, and Error I/O operations.
Standard Input, Output, and Error I/O operations.
 Re-direction of standard I/O handles through pipes and files.
Re-direction of standard I/O handles through pipes and files.
 Direct manipulation of console state
Direct manipulation of console state
For additional information on how to use the console functions, see the Console Overview.
The character-based functions include:
| Function | Description | 
| AllocConsole | Creates a new console for the calling process | 
| CreateConsoleScreenBuffer | Allocates a new screen buffer. | 
| FillConsoleOutputAttribute | Writes an attribute n times to the screen buffer | 
| FillConsoleOutputCharacter | Writes a character n times to the screen buffer | 
| FlushConsoleInputBuffer | Empties the console input buffer | 
| FreeConsole | Removes the calling process's console | 
| GetConsoleCursorInfo | Returns the cursor size and visibility for a console screen buffer | 
| GetConsoleMode | Returns the console input or output mode | 
| GetConsoleScreenBufferInfo | Returns information about a console screen buffer | 
| GetConsoleTitle | Returns the window title of a console | 
| GetLargestConsoleWindowSize | Returns the current font for a console screen buffer | 
| GetNumberOfConsoleInputEvents | Returns the number of events in a console input buffer | 
| GetNumberOfConsoleMouseButtons | Returns the number of mouse buttons | 
| PeekConsoleInput | Reads events from a console input buffer without removing them | 
| ReadConsoleInput | Reads events from a console input buffer | 
| ReadConsoleOutput | Reads a rectangular region of a console screen buffer | 
| ReadConsoleOutputAttribute | Reads a string of attributes from a console screen buffer | 
| ReadConsoleOutputCharacter | Reads a string of characters from a console screen buffer | 
| ScrollConsoleScreenBuffer | Copies a region from one part of a console screen buffer to another | 
| SetConsoleActiveScreenBuffer | Sets the visible screen buffer for a console | 
| SetConsoleCtrlHandler | Sets a ctrl handler for the calling process | 
| SetConsoleCursorInfo | Sets the cursor size and visibility for a console screen buffer | 
| SetConsoleCursorPosition | Sets the cursor position for a console screen buffer | 
| SetConsoleMode | Sets the console input or output mode | 
| SetConsoleScreenBufferSize | Sets the screen buffer size for a console screen buffer | 
| SetConsoleTextAttribute | Sets the background and text color for a console screen buffer | 
| SetConsoleTitle | Sets the window title of a console | 
| SetConsoleWindowInfo | Sets the dimensions of the window relative to the console screen buffer | 
| WriteConsoleInput | Writes events to a console input buffer | 
| WriteConsoleOutput | Writes a rectangular region to a console screen buffer | 
| WriteConsoleOutputAttribute | Writes a string of attributes to a console screen buffer | 
| WriteConsoleOutputCharacter | Writes a string of characters to a console screen buffer |