c中的stdin /stdout它们是常量,不是变量??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c中的stdin /stdout它们是常量,不是变量??相关的知识,希望对你有一定的参考价值。

好像它们是文件指针啊

在stdio.h中有这么定义
#define stdin (&__iob_func()[0])
#define stdout (&__iob_func()[1])
#define stderr (&__iob_func()[2])
分别表示程序的输入,输出,错误信息
你可以简单的把他们看做常量(事实上是函数的返回值,指针类型,看定义能看出来)

参考资料:stdio.h

参考技术A __iob_func()返回_iob,是个FILE类型数组名。所以stdin/stdout就是指针了,比如stdout是
&_iob[1]。
参考技术B 知道它怎么用就行了没有必要知道具体内容。你要是知道了,你也可以开发程序了。。

以上是关于c中的stdin /stdout它们是常量,不是变量??的主要内容,如果未能解决你的问题,请参考以下文章

php的三种CLI常量:STDIN,STDOUT,STDERR

php的三种CLI常量:STDIN,STDOUT,STDERR

stdin和stdout变量的意义

执行 linux 程序并通过 C/C++ 中的 stdin/stdout 与其通信的最简单方法

替换然后通过 ssh 打开 stdin/stdout

stderr和stdout的区别