首页 理论教育 图解C语言输入缓冲区的不同方式及其影响

图解C语言输入缓冲区的不同方式及其影响

时间:2023-11-20 理论教育 版权反馈
【摘要】:缓冲在这里意指三思而后行。图3-12和图3-13说明了两种输入方式下,键盘内的先进先出队列状态的不同。图3-12 非缓冲输入方式图3-13 缓冲输入方式1.缓冲方式缓冲方式是指输入字符数据经过一个暂存队列。图3-14 典型的非缓冲输入方式3.回车符滞留问题1)图3-16显示了回车符滞留在缓冲区对输入造成的影响,即再次输入时,程序直接读入回车符。3)Visual Studio2010非缓冲I/O函数原型说明包含在头部文件conio.h中。

图解C语言输入缓冲区的不同方式及其影响

缓冲在这里意指三思而后行。缓冲方式为使用者提供了在程序读入键盘数据之前,有修改的余地。当然,若有十足的把握,可以选择非缓冲方式,即程序立即响应使用者在键盘输入的命令。

图3-12和图3-13说明了两种输入方式下,键盘内的先进先出(FIFO)队列状态的不同。

978-7-111-49552-9-Chapter03-48.jpg

图3-12 非缓冲输入方式

978-7-111-49552-9-Chapter03-49.jpg

图3-13 缓冲输入方式

1.缓冲方式

缓冲方式是指输入字符数据经过一个暂存队列。输入的数据只在输入结束(回车键按下)时才被送入到计算机中处理。缓冲区使得操作者在按〈Enter〉键前,可以修改输入错误的字符,最后按下〈Enter〉键时,才发送正确的输入数据到计算机中。

2.非缓冲方式(www.xing528.com)

非缓冲方式是字符没有经过缓冲队列。在非缓冲输入方式下,每个输入字符被立刻送到程序中处理。例如,图3-14中,单击“文件”菜单,立即弹出一个下拉菜单,操作者希望选择的选项被立即响应(如“项目”选项),即程序立刻执行该操作命令(见图3-15)。

978-7-111-49552-9-Chapter03-50.jpg

图3-14 典型的非缓冲输入方式

3.回车符滞留问题

1)图3-16显示了回车符滞留在缓冲区对输入造成的影响,即再次输入时,程序直接读入回车符。

2)缓冲型I/O函数的原型说明包含在头部文件stdio.h中。

3)Visual Studio2010非缓冲I/O函数原型说明包含在头部文件conio.h中。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈