_setmaxstdio
Establece el número de archivos que se permite abrir simultáneamente en el nivel de flujo de E/S.
Sintaxis
int _setmaxstdio(
int new_max
);
Parámetros
new_max
Nuevo número de archivos que se permite abrir simultáneamente en el nivel de flujo de E/S.
Valor devuelto
Devuelve new_max
si se ejecuta correctamente; en caso contrario, -1.
Si new_max
es menor que _IOB_ENTRIES
, o mayor que el número máximo de identificadores disponibles en el sistema operativo, se invoca el controlador de parámetros no válidos, como se describe en Validación de parámetros. Si la ejecución puede continuar, esta función devuelve -1 y establece errno
en EINVAL
.
Para información sobre estos y otros códigos de error, consulte errno
, _doserrno
_sys_errlist
y _sys_nerr
.
Comentarios
La función _setmaxstdio
cambia el valor máximo del número de archivos que pueden estar abiertos simultáneamente en el nivel de E/S de flujo.
La E/S de tiempo de ejecución de C ahora admite hasta 8192 archivos abiertos simultáneamente en el nivel de flujo de E/S inferior. Este nivel incluye los archivos abiertos y aquellos a los que se ha accedido mediante la familia de funciones de E/S _open
, _read
y _write
. De forma predeterminada, se pueden abrir hasta 512 archivos al mismo tiempo en el nivel de flujo de E/S. Este nivel incluye los archivos abiertos y aquellos a los que se ha accedido mediante la familia de funciones fopen
, fgetc
y fputc
. El límite de 512 archivos abiertos en el nivel de E/S de flujo se puede aumentar hasta un máximo de 8192 mediante la función _setmaxstdio
.
Dado que las funciones de nivel de E/S de flujo, como fopen
se crean a partir de las funciones de nivel de E/S de flujo bajo, el máximo de 8192 archivos es un límite superior fuerte para el número de archivos abiertos simultáneamente a los que se accede mediante la biblioteca en tiempo de ejecución de C.
Nota:
Este límite superior puede exceder los valores que admiten ciertas plataformas y configuraciones de Win32.
Requisitos
Routine | Encabezado necesario |
---|---|
_setmaxstdio |
<stdio.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Ejemplo
Vea _getmaxstdio
para obtener un ejemplo en el que se usa _setmaxstdio
.