例如,stdio.h
库有一些函数需要FILE *
参数,但接受stdin
来自终端的用户输入。
答案 0 :(得分:3)
C stdio
函数在 streams 上运行,而不是在文件上运行。就代码而言,流只是字节的消费者(输出流)或生产者(输入流)。
流可能与磁盘上的文件相关联。它也可能与终端相关联。或打印机。或者是网络套接字。或者您可能想要与之沟通的任何其他内容。流是抽象,可以读取或写入一串字节。
stdin
和stdout
(以及stderr
)是预定义的FILE *
对象,通常是指您的控制台,但您可以在命令行或内部覆盖你的代码。
答案 1 :(得分:0)
stdin
和stdout
只不过是标准输入和输出文件的指针。由于您可以在代码中或使用命令提示符更改这些内容,因此无法指向实际输入,因为您无法更改它。
stdin
和stdio
只是从standard output
或standard input
读取或写入的文件中获取信息。这样,使用命令和代码更改它就容易多了。