_setmaxstdio
Sets a maximum for the number of simultaneously open files at the stream I/O level.
Syntax
int _setmaxstdio(
int new_max
);
Parameters
new_max
New maximum for the number of simultaneously open files at the stream I/O level.
Return value
Returns new_max
if successful; -1 otherwise.
If new_max
is less than _IOB_ENTRIES
, or greater than the maximum number of handles available in the operating system, the invalid parameter handler is invoked, as described in Parameter validation. If execution is allowed to continue, this function returns -1 and sets errno
to EINVAL
.
For information about these and other error codes, see errno
, _doserrno
, _sys_errlist
, and _sys_nerr
.
Remarks
The _setmaxstdio
function changes the maximum value for the number of files that may be open simultaneously at the stream I/O level.
C run-time I/O now supports up to 8,192 files open simultaneously at the low I/O level. This level includes files opened and accessed using the _open
, _read
, and _write
family of I/O functions. By default, up to 512 files can be open simultaneously at the stream I/O level. This level includes files opened and accessed using the fopen
, fgetc
, and fputc
family of functions. The limit of 512 open files at the stream I/O level can be increased to a maximum of 8,192 by use of the _setmaxstdio
function.
Because stream I/O-level functions, such as fopen
, are built on top of the low I/O-level functions, the maximum of 8,192 is a hard upper limit for the number of simultaneously open files accessed through the C run-time library.
Note
This upper limit might be beyond what's supported by a particular Win32 platform and configuration.
Requirements
Routine | Required header |
---|---|
_setmaxstdio |
<stdio.h> |
For more compatibility information, see Compatibility.
Example
See _getmaxstdio
for an example of using _setmaxstdio
.