C语言中的“标准输入”是什么意思?

时间:2013-10-23 11:26:55

标签: c

我的任务是在c中创建一个测试程序,读取标准输入的内容然后打印出来。

但我有点怀疑:究竟是什么standard input

这是我在键盘上键入的内容吗?这是我必须阅读的文件吗?

他们两个?

感谢。

3 个答案:

答案 0 :(得分:4)

当您从命令行运行程序时,它是您在键盘上键入的内容

它是为程序定义的3个标准流之一

当您在命令行上启动程序时,您可以在终端上键入一些文本,并将该文本传递给程序的标准输入流

其他2个流是终端上显示的标准输出,以及显示不应出现在标准输出中的错误消息的错误流

在大多数终端上,您可以将流重定向到文件,如下所示:

myprog.exe < file_to_read.txt 

将读取file_to_read.txt并将其传递到输入输入流

答案 1 :(得分:4)

“标准输入”是指特定的输入流,它与文件描述符0相关联。它是scanfgetchargets的流(你应该从不使用)等,全部阅读。基本上,任何不以FILE *为参数的stdio输入函数都是从标准输入读取的。

通常绑定到您的控制台,但可以重定向到从文件或其他设备读取。

例如,

scanf( "%d", &someVal );

相当于

fscanf( stdin, "%d", &someval );

两个函数都从标准输入(stdin)读取。

答案 2 :(得分:1)

From Wikipedia:

Unless redirected, input is expected from the keyboard which started the program.