Partilhar via


_setmaxstdio

Define o máximo de arquivos abertos simultaneamente no nível de E/S de fluxo.

Sintaxe

int _setmaxstdio(
   int new_max
);

Parâmetros

new_max
Novo valor máximo de arquivos abertos simultaneamente no nível de E/S de fluxo.

Valor retornado

Retorna new_max, se bem-sucedido; caso contrário, -1.

Se new_max for menor ou _IOB_ENTRIESmaior que o número máximo de identificadores disponíveis no sistema operacional, o manipulador de parâmetro inválido será invocado, conforme descrito em Validação de parâmetro. Se a execução puder continuar, essa função retornará um valor –1 e definirá errno como EINVAL.

Para obter informações sobre esses e outros códigos de erro, confira errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

A função _setmaxstdio altera o valor máximo para o número de arquivos que podem ser abertos simultaneamente no nível de E/S do fluxo.

A E/S do tempo de execução C agora é compatível com até 8.192 arquivos abertos simultaneamente no nível de E/S baixo. Esse nível inclui os arquivos abertos e acessados usando a família _open, _read e _write de funções de E/S. Por padrão, até 512 arquivos podem ser abertos simultaneamente no nível de E/S de fluxo. Esse nível inclui os arquivos abertos e acessados usando a família fopen, fgetc e fputc de funções. O limite de 512 arquivos abertos no nível de E/S do fluxo pode ser elevado para um máximo de 8.192 usando a função _setmaxstdio.

Devido às funções no nível de E/S do fluxo, como fopen, serem compiladas sobre as funções de nível de E/S baixo, o número máximo de 8.192 é um limite superior rígido para o número de arquivos abertos simultaneamente acessados por meio da biblioteca em tempo de execução C.

Observação

Esse limite superior pode estar além do que é compatível com uma determinada plataforma Win32 e sua respectiva configuração.

Requisitos

Rotina Cabeçalho necessário
_setmaxstdio <stdio.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Exemplo

Confira _getmaxstdio para ver um exemplo de como usar _setmaxstdio.

Confira também

E/S de fluxo