高级I / O功能提供了一种从控制台输入读取字符流或将字符串写入控制台输出的简单方法。高级读取操作从控制台的输入缓冲区获取输入字符并将其存储在指定的缓冲区中。高级写入操作从指定的缓冲区中取出字符,并将它们写入当前光标位置的屏幕缓冲区,在写入每个字符时前进光标。
高级I / O可让您选择ReadFile和WriteFile功能和ReadConsole和WriteConsole功能。它们是相同的,除了两个重要的区别。控制台功能支持使用Unicode字符或ANSI字符集;文件I / O功能不支持Unicode。此外,文件I / O功能可用于访问文件,管道和串行通信设备;控制台功能只能与控制台控制柄一起使用。如果应用程序依赖于可能被重定向的标准句柄,则此区别很重要。
当使用任何一组高级功能时,应用程序可以控制用于显示随后写入屏幕缓冲区的字符的文本和背景颜色。应用程序还可以使用影响高级控制台I / O的控制台模式来启用或禁用以下属性:
*回显键盘输入到主动屏幕缓冲区
*行输入,其中读操作不会返回直到ENTER键被按下
*自动处理键盘输入以处理回车,CTRL + C和其他输入细节
*自动处理输出以处理线条包装,回车,后退和其他输出细节