_setmaxstdio

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

Синтаксис

int _setmaxstdio(
   int new_max
);

Параметры

new_max
Новое максимальное число одновременно открытых файлов на уровне потокового ввода-вывода.

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

Возвращает значение new_max , если выполнено успешно; -1 в противном случае.

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

Сведения об этих и других кодах ошибок см. в разделе errno, _doserrno_sys_errlistи _sys_nerr.

Замечания

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

Ввод-вывод среды выполнения C теперь поддерживает до 8192 одновременно открытых файлов на низком уровне ввода-вывода. Этот уровень включает файлы, открытые и доступные с помощью _openфункций ввода-вывода _readи _write семейства функций ввода-вывода. По умолчанию на уровне потокового ввода-вывода может быть открыто одновременно 512 файлов. Этот уровень включает файлы, открытые и доступ к ним с помощью fopenи fgetcfputc семейства функций. Ограничение в 512 открытых файлов на уровне потокового ввода-вывода может быть увеличено до 8192, используя функцию _setmaxstdio .

Так как функции уровня ввода-вывода потоковой передачи, такие как fopen, основаны на низком уровне операций ввода-вывода, максимальное значение 8192 является жестким верхним ограничением для количества одновременно открытых файлов, доступ к которых осуществляется через библиотеку времени выполнения C.

Примечание.

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

Требования

Маршрут Обязательный заголовок
_setmaxstdio <stdio.h>

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

Пример

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

См. также

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