Поделиться через


_setmaxstdio

Задает максимальное число одновременно открытых файлов на уровне stdio.

int _setmaxstdio(
   int newmax 
);

Параметры

  • newmax
    Новое максимальное число одновременно открытых файлов на уровне stdio.

Возвращаемое значение

Возвращает значение newmax в случае успешного выполнения; в противном случае — значение –1.

Если newmax меньше, чем _IOB_ENTRIES или больше, чем максимальное количество дескрипторов, доступных в операционной системе, вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если выполнение может быть продолжено, функция возвращает -1 и устанавливает errno в EINVAL.

Дополнительные сведения об этих и других кодах ошибок см. в разделе _doserrno, errno, _sys_errlist и _sys_nerr.

Заметки

Функция _setmaxstdio изменяет максимальное число файлов, которые могут быть одновременно открыты на уровне stdio.

Ввод-вывод среды выполнения C теперь поддерживает гораздо больше открытых файлов на платформах Win32, чем в предыдущих версиях. До 2048 файлов могут быть открыты одновременно на уровне lowio (то есть, открыты и доступны посредством _open, _read, _write и т.п. из семейства функций ввода-вывода). До 512 файлов могут быть открыты одновременно на уровне stdio (то есть, открыты и доступны посредством fopen, fgetc, fputc и т.п. из семейства функций ввода-вывода). Ограничение открытия 512 файлов на уровне stdio можно увеличить до 2048 с помощью функции _setmaxstdio.

Поскольку функции уровня stdio, например, fopen, строятся поверх функций lowio, максимум в 2048 файлов является жестким верхним пределом для числа одновременно открытых файлов, полученных через библиотеку времени выполнения C.

Примечание

Этот верхний предел может оказаться выше того, что поддерживается конкретной платформой и конфигурацией Win32.

Требования

Подпрограмма

Обязательный заголовок

_setmaxstdio

<stdio.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Пример

Пример использования _setmaxstdio см. в _getmaxstdio.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Потоковый ввод-вывод