标题: WinXP命令行下的DOS对同时打开文件数也有限制!
[打印本页]
作者: firstsail
时间: 2010-1-28 09:40
标题: WinXP命令行下的DOS对同时打开文件数也有限制!
用下面的一断代码做了一个实验,发现WinXP命令行下的DOS对同时打开文件数也有限制!我的XP只能同时再打开15个文件.
如果在纯DOS下面、Win9X下面可以修改c:\Config.Sys文件的FILES=??解决,XP下如果解决呢!
void MyDebug()
{
int i;
char buf[256];
FILE* psFile[ 20 ];
for (i = 0; i < 20; i++)
{
sprintf(buf, "Abcde-%02d.Txt", i + 1);
psFile[ i ] = fopen(buf, "a+b");
}
for (i = 0; i < 20; i++)
{
printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile
);
if (NULL != psFile)
{
::fclose( psFile );
psFile[ i ]= NULL;
}
}
getch();
return;
}
执行结果是:
File01::75BF71CE
File02::75BF71E2
File03::75BF1F6
.....
File14::75BF72D2
File15::75BF72E6
File16::00000000
File17::00000000
File18::00000000
File19::00000000
File20::00000000
[ Last edited by firstsail on 2010-1-28 at 19:13 ]
作者: DOSforever 时间: 2010-1-28 18:45
修改 windows\system32\config.nt 试试?
作者: firstsail 时间: 2010-1-28 19:07
修改我的c:\WindowXP\System32\Config.NT文件
我将文件里面的Files=40改成Files=60后重新启动计算机,执行同样的代码还是原结果,没有达到预期目的!
执行结果是:
File01::75BF71CE
File02::75BF71E2
File03::75BF1F6
.....
File14::75BF72D2
File15::75BF72E6
File16::00000000
File17::00000000
File18::00000000
File19::00000000
File20::00000000
作者: firstsail 时间: 2010-1-28 19:15
贴子显示怎么不正常
明明是这样
for (i = 0; i < 20; i++)
{
printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile);
if (NULL != psFile)
{
::fclose( psFile);
psFile[ i ]= NULL;
}
}
怎么显示成
for (i = 0; i < 20; i++)
{
printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile);
if (NULL != psFile)
{
::fclose( psFile);
psFile[ i ]= NULL;
}
}
将"第一楼贴子"拷贝到"记事本"程序里面,看到的情况是正常的,但眼睛看到的情况切是第二种情况,难道有病毒不成???
[ Last edited by firstsail on 2010-1-28 at 19:18 ]
作者: firstsail 时间: 2010-1-28 19:20
明明是这样
for (i = 0; i < 20; i++)
{
printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile[i]);
if (NULL != psFile[i])
{
::fclose( psFile[i]);
psFile[ i ]= NULL;
}
}
怎么显示成
for (i = 0; i < 20; i++)
{
printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile);
if (NULL != psFile)
{
::fclose( psFile);
psFile[ i ]= NULL;
}
}
发现是修改贴子后,就会有这样现象,怪!
作者: DOSforever 时间: 2010-1-28 19:35
估计是你代码中的 [i]变量和Discuz! 代码中的[i]代码冲突引起的字体变形。
解决
方法一:发贴时勾选“禁用 Discuz! 代码”
方法二:在所发代码的两头加[code][/code] Discuz! 代码
作者: DOSforever 时间: 2010-1-28 19:43
你是在 CMD 下还是在 COMMAND 下? 好像 config.nt 和 autoexec.nt 只对 COMMAND 有效。
作者: firstsail 时间: 2010-1-30 18:27
我在我的XP下只有CMD,没有COMMAND
作者: DOSforever 时间: 2010-2-3 18:47
难道你用的也是那种改装版的 Windows ?把许多东西都精简掉了?
作者: firstsail 时间: 2010-2-6 11:55
我安装的WinXP是用¥300大洋买来的正版软件安装的!
作者: DOSforever 时间: 2010-2-6 22:51
哈哈!如果这样的话,那你可以找卖给你软件的人算帐了:为什么我的 Windows XP 没有 COMMAND ,你卖给我的算哪门子的 XP !