gpt4 book ai didi

关于 getchar()/putchar() 功能的说明

转载 作者:太空宇宙 更新时间:2023-11-04 07:56:50 24 4
gpt4 key购买 nike

在这段代码中:

 #include<stdio.h>

int main()
{
int i,p=0;
while(i!=EOF)
{
i=getchar();
putchar(i);
printf("\n");
}
return 0;
}

当我一次性输入 hello 时,输出是 h 然后在下一行 e 等等。但是,当 h 被打印时,然后在打印 e 之前,为什么 getchar() 不像在第一次?

getchar() 返回stdin 成功读取的任何字符或一些错误,因此哪个函数要求终端输入然后发送它到标准输入

最佳答案

来自终端的输入通常缓冲。这意味着它保存在内存中等待您的程序读取它。

此缓冲区由多个软件执行。实际在终端窗口中读取您的输入的软件通常会累积您键入的字符,直到您按下回车键或按下某些其他键或结束当前输入的组合。然后已读取的行可供您的程序使用。

在您的程序中,C 标准库(getchar 是其中的一部分)读取已发送给它的数据并将其保存在自己的缓冲区中。 getchar 例程从此缓冲区读取下一个字符。 (如果 getchar 需要另一个字符时缓冲区为空,getchar 将阻塞,等待终端软件的新数据到达。)

关于关于 getchar()/putchar() 功能的说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49468124/

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