在BCB中用C库的fopen只能同时创建47个文件?
偶然发现在BCB6和C++Builder2006中使用标准C库只能同时打开47个文件。
测试代码:
#include <stdio.h>
////////////////////////////////////////////////
FILE * iFile[100];
int i;
char szName[260];
for( i=0; i<100; i++ ){
sprintf(szName, "D:\\TEST%02d.DAT", i);
iFile[i] = fopen(szName, "w+b");
}
for( i=0; i<100; i++ ){
fclose(iFile[i]);
}
////////////////////////////////////////////////
相同的代码在VC中没有问题,可以创建100个空文件。在BCB6和C++Builder2006使用FileCreate也没有问题,可以正常创建100个文件。
在<stdio.h> 看到 #define FOPEN_MAX (_NFILE_)
在<_nfile.h> 看到 #define _NFILE_ 50
在VC的<stdio.h>则找到#define FOPEN_MAX 20 ???!!!!!!!!!
怎么回事?