首页 > 代码库 > 关于标准输入,标准输出,标准错误
关于标准输入,标准输出,标准错误
1. 为什么我们程序直接使用printf或者write(0,...)就可以输出内容,而不需要首先调用open,是因为我们的进程是shell的子进程,它直接从shell继承了文件描述符。
2.假如需要我们程序自己打开标准输入输出的话,可以这样int fd = open("/dev/tty", O_WRONLY);,需要注意的是fd的值可不一定就是0或者1,而是当前系统文件描述符未用的最小值,换句话说标准输入/输出/错误可不一定就是0/1/2。
3.为什么write(0,...)也能输出内容到屏上,按理标准输出不是fd=1吗?想想以WR方式打开一个普通文件,是不是也可以既读又写,跟此一个道理。
参照阅读:
http://bbs.chinaunix.net/thread-1376698-1-1.html
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=359433&page=1#pid2385375
https://stackoverflow.com/questions/7383803/writing-to-stdin-and-reading-from-stdout-unix-linux-c-programming
关于标准输入,标准输出,标准错误
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。