当我通过putchar在c编程中输入多于1个字符时,为什么putchar只显示一个字符?

时间:2016-02-18 12:51:57

标签: c string

我正在使用名为Code block的IDE。每当我使用putchar和getchar来显示通过putchar输入的单词中的单个字符时,整个单词都会显示。为什么会这样?是否有特定的事情,我必须做IDE。我已经尝试将类型更改为int但问题仍然存在。

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

1 个答案:

答案 0 :(得分:1)

键盘是行缓冲

这意味着操作系统只有在获得整行后才会向您的程序发送数据。

当您键入"foobar<ENTER>"第一个&#39; f&#39;只有在您的程序看到操作系统看到ENTER后才能看到...然后所有字符(包括ENTER)都可以非常快速地用于您的程序(您只能获得第一个&#39; f&#39 ;但是,除非你写一些循环)。

有一些方法可以让键盘在&#34;无缓冲&#34;模式,但通常,它们比它们的价值更麻烦。查看ncurses