_setmaxstdio

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at _setmaxstdio.

Sets a maximum for the number of simultaneously open files at the stdio level.

Syntax

int _setmaxstdio(  
   int newmax   
);  

Parameters

newmax
New maximum for the number of simultaneously open files at the stdio level.

Return Value

Returns newmax if successful; –1 otherwise.

If newmax is less than _IOB_ENTRIES or greater then 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 _doserrno, errno, _sys_errlist, and _sys_nerr.

Remarks

The _setmaxstdio function changes the maximum value for the number of files that might be simultaneously open at the stdio level.

C run-time I/O now supports many more open files on Win32 platforms than in previous versions. Up to 2,048 files can be open simultaneously at the lowio level (that is, opened and accessed by means of the _open, _read, _write, and so forth family of I/O functions). Up to 512 files can be open simultaneously at the stdio level (that is, opened and accessed by means of the fopen, fgetc, fputc, and so forth family of functions). The limit of 512 open files at the stdio level can be increased to a maximum of 2,048 by means of the _setmaxstdio function.

Because stdio-level functions, such as fopen, are built on top of the lowio functions, the maximum of 2,048 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 is supported by a particular Win32 platform and configuration.

Requirements

Routine Required header
_setmaxstdio <stdio.h>

For more compatibility information, see Compatibility in the Introduction.

Example

See _getmaxstdio for an example of using _setmaxstdio.

.NET Framework Equivalent

Not applicable. To call the standard C function, use PInvoke. For more information, see Platform Invoke Examples.

See Also

Stream I/O