设置在流 I/O 级别同时打开的最大文件数。
语法
int _setmaxstdio(
int new_max
);
参数
new_max
在流 I/O 级别同时打开的新的最大文件数。
返回值
如果成功,则返回 new_max;否则返回 –1。
如果 new_max 小于 _IOB_ENTRIES 或大于操作系统中可用的句柄的最大数量,则调用无效参数处理程序,如参数验证中所述。 如果允许执行继续,则此函数将返回 -1 并将 errno 设置为 EINVAL。
有关这些和其他错误代码的信息,请参阅 、errno、_doserrno、_sys_errlist 和 _sys_nerr。
备注
_setmaxstdio 函数更改可在流 I/O 级别同时打开的文件数的最大值。
C 运行时 I/O 现在支持在低 I/O 级别同时打开最多 8,192 个文件。 此级别包括使用 _open、_read 和 _write I/O 函数系列打开和访问的文件。 默认情况下,在流 I/O 级别可以同时打开最多 512 个文件。 此级别包括使用 fopen、fgetc 和 fputc 函数系列打开和访问的文件。 使用 _setmaxstdio 函数可以将在流 I/O 级别最多打开 512 个文件的限制增加到最多 8,192 个文件。
因为 fopen 等流 I/O 级别函数是基于低 I/O 级别函数生成的,8,192 的最大值是通过 C 运行时库访问的同时打开文件数的硬上限。
注意
此上限可能会超过特定 Win32 平台和配置所支持的文件数。
要求
| 例程 | 必需的标头 |
|---|---|
_setmaxstdio |
<stdio.h> |
有关兼容性的详细信息,请参阅 兼容性。
示例
有关使用 _setmaxstdio 的示例,请参阅 _getmaxstdio。