_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
и fgetc
fputc
семейства функций. Ограничение в 512 открытых файлов на уровне потокового ввода-вывода может быть увеличено до 8192, используя функцию _setmaxstdio
.
Так как функции уровня ввода-вывода потоковой передачи, такие как fopen
, основаны на низком уровне операций ввода-вывода, максимальное значение 8192 является жестким верхним ограничением для количества одновременно открытых файлов, доступ к которых осуществляется через библиотеку времени выполнения C.
Примечание.
Это пороговое значение может превышать ограничения, поддерживаемые определенной конфигурацией и платформой Win32.
Требования
Маршрут | Обязательный заголовок |
---|---|
_setmaxstdio |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
См. _getmaxstdio
с примером использования _setmaxstdio
.