试图了解标准输入,标准输出
问题描述:
我想了解stdin
,stdout
......这些都是我有
几个问题,这里是我使用的代码:我想知道发生了什么试图了解标准输入,标准输出
int main()
{
struct termios new;
tcgetattr(1,&new);
new.c_lflag &= ~ECHO;
tcsetattr(1,TCSAFLUSH,&new);
return 0;
}
我把ECHO
关闭stdin
而不是stdout
....我的意思是,在这两种情况下,我遇到同样的结果....他们如何不同?
stty
命令返回什么?
运行上述程序后,我做了stty
,发现line = 0的-echo,如果我是对的,则关闭stdin
,但程序将ECHO
标志关闭为stdout
??
对不起,如果我的疑惑声小白:(
答
这是终端的控制。如果你都stdin和stdout连接到同一个终端,那么你还在管理同一对象的配置。
tcgetattr
简单。获取有关与文件描述符关联的对象信息
当然,他们没有要与同一终端相关联。例如,如果你运行:
./a.out >file.out
那么标准输入仍然会重视编辑到终端,但标准输出现在附加到一个文件。
也许我在这里毫无头绪,但我想这些是终端控制比stdin/stdout更多的问题。根据我的理解,后者只有简单的数据流。 – Joey 2011-05-28 10:47:07