日期:2014-05-16  浏览次数:20507 次

关于文件描述符问题
我看UNIX环境高级编程第三章文件描述符那有点不太懂,书上说0表示标准输入相关,1表示标准输出相关,2表示标准出错相关,那么3呢?4呢?再看书后面的那个图,文件描述符后半部分是文件指针,如果一个进程同时以标准输入打开两个文件,那么描述符0后面的文件指针怎么办呢,要是两个文件指针的话,那些函数怎么工作呢,close和lseek等函数的参数都是文件描述符。

------解决方案--------------------
探讨

引用:

0,1,2都是系统定义的,后面都是你自己的。
一个进程同时以标准输入打开两个文件?你怎么做到的?
一个文件就对应一个文件描述符,而且基本上不可能是012了,除非你刻意去关闭012。

额,一个进程不可以同时打开两个文件么?貌似有点懂了,莫非一个进程如果要同时打开两个文件(例如用标准输入),就得复制文件描述符0,然后打开文件,是这样么?