gpt4 book ai didi

c - 为什么在c编程中通过putchar输入超过1个字符时putchar不只显示1个字符?

转载 作者:行者123 更新时间:2023-11-30 21:24:40 25 4
gpt4 key购买 nike

我正在使用一个名为“代码块”的 IDE。每当我使用 putchar 和 getchar 仅显示我通过 putchar 输入的单词中的单个字符时,就会显示整个单词。为什么会发生这种事?有什么具体的事情是我必须在 IDE 上做的吗?我尝试将类型更改为 int 但问题仍然存在。

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

最佳答案

键盘是行缓冲的。

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

当您输入"foobar<ENTER>"时只有在操作系统看到 ENTER 之后,程序才会看到第一个“f”...然后所有字符(包括 ENTER)都可以非常非常快地供您的程序使用(您只能得到第一个“f”) ' 不过,除非你编写某种循环)。

有多种方法可以使键盘在“无缓冲”模式下运行,但通常这些方法带来的麻烦大于其值(value)。检查ncurses .

关于c - 为什么在c编程中通过putchar输入超过1个字符时putchar不只显示1个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com