在linux系统中,进程打开的文件句柄数量的限制,可用ulimit命令来查看和修改,或者修改/etc/security/limits.conf也可以修改。但在windows中,目前没有找到方便的方法查看这个值。
下面这段代码可以用来查看该值,设置的办法还没有找到。
Windows server 2003下面程序的值是509,加上标准I/O和标准错误文件句柄,系统这个值应该是512。其他的windows系统如果需要可以用跑一下下面的代码试一下。
int _tmain(int argc, _TCHAR* argv[])
{
FILE *p;
p=fopen("E:\\first.txt","rb");
if(p==NULL)
{
printf("\nerror on open E:\\first.txt file!");
}
int i = 1;
while(p!=NULL)
{
p=fopen( "E:\\first.txt", "rb");
printf("%d\n",i);
i++;
}
return 0;
}