我想知道文件描述符的有效值。
请让我解释一下。例如,我知道,当我在linux系统上使用#include <unistd.h>时,会调用一个打开文件以便读取:
int fileDescriptor;
fileDescriptor = open("/some/filename",O_RDONLY);可能会发生错误,因此我收到-1。
顺便说一下,(-1)负一定有某种特殊的含义。是否所有其他值都是有效的文件描述符?也就是负的-2和-1023?
假设int是4个字节(sizeof(int)==4),那么
(-1) = 10000000 0000000 00000000 00000001是否是唯一可检测到的无效文件描述符?其他人是否愿意:
(0) = 00000000 0000000 00000000 00000000(-2) = 10000000 0000000 00000000 00000010(2) = 00000000 0000000 00000000 00000010没事吧?由于文件描述符可以存储4个字节,因此我最多可以拥有(2^(8*4)-1)有效的文件描述符,因此这将是我可以打开的文件的最大数量,对吗?
再说一遍:
我应该期望(有效的)文件描述符是什么?
有价值吗?-1?
发布于 2013-08-29 09:35:12
发布于 2013-08-29 09:36:10
发布于 2013-08-29 09:33:53
https://stackoverflow.com/questions/18507057
复制相似问题