stdin和stdout变量的意义

代码中的stdin和stdout两个变量,感觉像是系统定义的,不知道是什么意思。

#define stdin (&_iob[0])
#define stdout (&_iob[1])

// open input file

FILE* file_in;
if (ilas)

{
// input from stdin
file_in = stdin;
}
……

// open output file

FILE* file_out;

if (otxt)
{
// output to stdout
file_out = stdout;
}

第1个回答  2013-09-27
stdin 标准输入, 也就是你的键盘输入的东西.
stdout 标准输出,也就是你的电脑显示器.本回答被提问者采纳
第2个回答  推荐于2017-09-07
1.stdin:标准输入,即从键盘输入的字符、数字、标点符号等信息。
2.stdout:标准输出,显示器屏幕显示,或输出到磁盘,或打印机打印出来的信息。
当一个用户进程被创建的时候,系统会自动为该进程创建stdin(=0)、stdoutr(=1)等数据流
第3个回答  2015-06-15
stdin:
示例:一个最简单的小程序,它的功能是从键盘输入字符,然后将其送到控制台。采用perl语言实现,:
while ($line = )
{
print $line;
}
简单地说,<STDIN>是一个专用的文件句柄,在本例中它属于标准输入缓存(称为STDIN),通常是连接到键盘。每次我们将<STDIN>的值赋给变量$line时,即为将STDIN缓存中的首行取出,然后放入$line。当到达缓存最后一行时,就会取出while语句判断条件为假的(EOF)文件结束标识符。程序的其它部分很简单可以这样解释。现在我们已经将输入信息放入$line变量,接着我们就可以用print函数将其打印到屏幕。或者更准确地说,打印到通常连接显示器的标准输入缓存。标准输入和输出缓存都可以重定向,例如可重定向到保存程序结果的某个文件中,如果是在处理文本,那么通常可以认为这与键盘及显示器是等价的。
stsout:
stdout是一个文件指针,C己经在头文件中定义好的了,可以直接使用,把它赋给另一个文件指针。只是方便操作输出,比输传给一个函数等等。这时函数的输出就不是输出到文件,而是传进来的stdout文件指针,即标准输出。如:

#include

void func(FILE *p)

{

char *str="ddd";

fputs(str,p);

}

int main()

{

func(stdout);

}

stdout(Standardoutput)标准输出
stdin(Standardinput)标准输入

stderr(Standarderror)标准错误
第4个回答  2013-09-27
标准输入 标准输入