输入和输出方法

控制台 i/o 有两种不同的方法,选择哪种方法取决于灵活性和控制应用程序需求。 高级别方法启用简单字符流 i/o,但它限制了对控制台 输入屏幕 缓冲区的访问。 低级别方法要求开发人员编写更多的代码,并在更大范围的函数中进行选择,但它还使应用程序更具灵活性。

注意

对于新的和正在进行的开发,不建议使用低级别方法。 鼓励需要低级别控制台 i/o 函数的功能的应用程序使用 虚拟终端序列 ,并浏览有关 经典函数与虚拟终端生态系统路线图的文档。

应用程序可以使用文件 i/o 函数( ReadFileWriteFile)和控制台函数 ReadConsoleWriteConsole来实现对控制台的输入和屏幕缓冲区的间接访问。 高级输入函数将筛选和处理控制台输入缓冲区中的数据,以将输入作为字符流返回,并放弃鼠标和缓冲区大小调整输入。 同样,高级输出函数会写入一个在屏幕缓冲区中的当前光标位置显示的字符流。 应用程序通过设置控制台的 i/o 模式来控制这些函数的工作方式。

低级别 i/o 函数提供对控制台输入和屏幕缓冲区的直接访问,使应用程序能够访问鼠标和缓冲区调整输入事件的大小和扩展键盘事件的信息。 低级别输出函数使应用程序能够读取或写入到屏幕缓冲区中指定数量的连续字符单元,或读取或写入屏幕缓冲区中指定位置的字符单元的矩形块。 控制台的输入模式会使应用程序能够确定是否在输入缓冲区中放置了鼠标和缓冲区大小调整事件,从而影响了低级输入。 控制台的输出模式对低级别输出没有影响。

高级别和低级别 i/o 方法并不相互排斥,应用程序可以使用这些函数的任意组合。 不过,通常情况下,应用程序使用一种方法或另一种方法,我们建议将重点放在一个特定的模式上以获得最佳结果。

提示

理想情况下,应用程序将重点放在高级方法上,并通过高级 i/o 方法在必要时通过高级别 i/o 方法更进一步地增加了 虚拟终端序列 的需求。

以下主题介绍控制台模式以及高级和低级别 i/o 函数。