![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-15 04:56 |
共 47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行 |
| DOS开发编程 & 发展交流 (开发室) » WinXP命令行下的DOS对同时打开文件数也有限制! |
| 可打印版本 2,545 / 10 |
| 第1楼 firstsail | 发表于 2010-01-28 09:40 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
WinXP命令行下的DOS对同时打开文件数也有限制! 用下面的一断代码做了一个实验,发现WinXP命令行下的DOS对同时打开文件数也有限制!我的XP只能同时再打开15个文件.
如果在纯DOS下面、Win9X下面可以修改c:\Config.Sys文件的FILES=??解决,XP下如果解决呢! void MyDebug() { int i; char buf; FILE* psFile; for (i = 0; i < 20; i++) { sprintf(buf, "Abcde-%02d.Txt", i + 1); psFile = 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= 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 ] |
|
| 第2楼 DOSforever | 发表于 2010-01-28 18:45 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
修改 windows\system32\config.nt 试试?
|
|
| 第3楼 firstsail | 发表于 2010-01-28 19:07 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
修改我的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 |
|
| 第4楼 firstsail | 发表于 2010-01-28 19:15 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
贴子显示怎么不正常
明明是这样 for (i = 0; i < 20; i++) { printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile); if (NULL != psFile) { ::fclose( psFile); psFile= NULL; } } 怎么显示成 for (i = 0; i < 20; i++) { printf("\nFile%02d::%08lX", i + 1, (unsigned long)psFile); if (NULL != psFile) { ::fclose( psFile); psFile= NULL; } } 将"第一楼贴子"拷贝到"记事本"程序里面,看到的情况是正常的,但眼睛看到的情况切是第二种情况,难道有病毒不成??? [ Last edited by firstsail on 2010-1-28 at 19:18 ] |
|
| 第5楼 firstsail | 发表于 2010-01-28 19:20 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
明明是这样
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; } } 发现是修改贴子后,就会有这样现象,怪! |
|
| 第6楼 DOSforever | 发表于 2010-01-28 19:35 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
估计是你代码中的 [i]变量和Discuz! 代码中的[i]代码冲突引起的字体变形。
解决 方法一:发贴时勾选“禁用 Discuz! 代码” 方法二:在所发代码的两头加[code][/code] Discuz! 代码 |
|
| 第7楼 DOSforever | 发表于 2010-01-28 19:43 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
你是在 CMD 下还是在 COMMAND 下? 好像 config.nt 和 autoexec.nt 只对 COMMAND 有效。
|
|
| 第8楼 firstsail | 发表于 2010-01-30 18:27 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
我在我的XP下只有CMD,没有COMMAND
|
|
| 第9楼 DOSforever | 发表于 2010-02-03 18:47 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
难道你用的也是那种改装版的 Windows ?把许多东西都精简掉了?
|
|
| 第10楼 firstsail | 发表于 2010-02-06 11:55 |
| 高级用户 发帖 295 积分 668 来自 广东深圳 | |
|
我安装的WinXP是用¥300大洋买来的正版软件安装的!
|
|
| 第11楼 DOSforever | 发表于 2010-02-06 22:51 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
哈哈!如果这样的话,那你可以找卖给你软件的人算帐了:为什么我的 Windows XP 没有 COMMAND ,你卖给我的算哪门子的 XP !
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |