什么是标准输入缓冲区?(What is the standard input buffer?)

2019-07-17 15:36发布

#include <stdio.h>

int main(void)
{
    int c;
    c = getchar();
    putchar(c);
    c = getchar();
    putchar(c);
    c = getchar();
    putchar(c);
    return 0;
}

我想知道这是为什么叫三声与只输入一次线工作的功能。 有些人解释说,我们在这种情况下,标准输入缓冲区的工作,那是一块内存。 我想读什么。 你能告诉我一些资源?

Answer 1:

这是您的终端(命令行窗口)的一个特征。

默认情况下,终端将收集来自用户的输入,直到他按下Enter键/返回。 然后,整条生产线推到你的程序的输入文件流( stdin ,也就是,因为你使用<stdio.h> ,而不是<iostream>没有cin参与)。

因为你的程序没有处理解释所有的键盘事件(例如:按Backspace键时删除字母),这非常有用。 它要处理的键盘本身的程序可以禁用这个默认的输入模式。 我认为,谷歌相关的关键字是terminfotermcap

具体关于你的问题,一行输入好三个getchar()如果它包含三个字符要求。 如果你只输入一个字符,程序应该等待后续getchar()呼吁更多的投入。



文章来源: What is the standard input buffer?