_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 个文件。 此级别包括使用 fopen
、fgetc
和 fputc
函数系列打开和访问的文件。 使用 _setmaxstdio
函数可以将在流 I/O 级别最多打开 512 个文件的限制增加到最多 8,192 个文件。
因为 fopen
等流 I/O 级别函数是基于低 I/O 级别函数生成的,8,192 的最大值是通过 C 运行时库访问的同时打开文件数的硬上限。
注意
此上限可能会超过特定 Win32 平台和配置所支持的文件数。
要求
例程 | 必需的标头 |
---|---|
_setmaxstdio |
<stdio.h> |
有关兼容性的详细信息,请参阅 兼容性。
示例
有关使用 _setmaxstdio
的示例,请参阅 _getmaxstdio
。