_setmaxstdio

设置在流 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 个文件。 此级别包括使用 fopenfgetcfputc 函数系列打开和访问的文件。 使用 _setmaxstdio 函数可以将在流 I/O 级别最多打开 512 个文件的限制增加到最多 8,192 个文件。

因为 fopen 等流 I/O 级别函数是基于低 I/O 级别函数生成的,8,192 的最大值是通过 C 运行时库访问的同时打开文件数的硬上限。

注意

此上限可能会超过特定 Win32 平台和配置所支持的文件数。

要求

例程 必需的标头
_setmaxstdio <stdio.h>

有关兼容性的详细信息,请参阅 兼容性

示例

有关使用 _setmaxstdio 的示例,请参阅 _getmaxstdio

另请参阅

流 I/O