_setmaxstdio
W tym artykule
Ustawia maksymalną liczbę jednocześnie otwartych plików na poziomie we/wy strumienia.
int _setmaxstdio(
int new_max
);
new_max
Nowa maksymalna liczba jednocześnie otwartych plików na poziomie we/wy strumienia.
Zwraca wartość w przypadku powodzenia new_max
; -1 w przeciwnym razie.
Jeśli new_max
wartość jest mniejsza niż , lub większa niż _IOB_ENTRIES
maksymalna liczba dojść dostępnych w systemie operacyjnym, wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonanie jest dozwolone do kontynuowania, ta funkcja zwraca wartość -1 i ustawia wartość errno
EINVAL
.
Aby uzyskać informacje o tych i innych kodach błędów, zobacz errno
, _doserrno
, _sys_errlist
i _sys_nerr
.
Funkcja _setmaxstdio
zmienia maksymalną wartość liczby plików, które mogą być otwierane jednocześnie na poziomie we/wy strumienia.
We/Wy w czasie wykonywania języka C obsługuje teraz maksymalnie 8192 otwartych jednocześnie plików na niskim poziomie we/wy. Ten poziom obejmuje pliki otwarte i dostępne przy użyciu _open
funkcji we/wy i _read
_write
rodziny operacji we/wy. Domyślnie maksymalnie 512 plików można otwierać jednocześnie na poziomie we/wy strumienia. Ten poziom obejmuje pliki otwierane i uzyskiwane do nich dostęp przy użyciu fopen
rodziny funkcji , fgetc
i fputc
. Limit 512 otwartych plików na poziomie we/wy strumienia można zwiększyć do maksymalnie 8192 za pomocą _setmaxstdio
funkcji .
Ponieważ funkcje na poziomie we/wy strumienia, takie jak fopen
, są zbudowane na podstawie funkcji niskiego poziomu we/wy, maksimum 8192 jest twardym górnym limitem liczby jednocześnie otwartych plików dostępnych za pośrednictwem biblioteki czasu wykonywania języka C.
Uwaga
Ten górny limit może wykraczać poza to, co jest obsługiwane przez określoną platformę i konfigurację Win32.
Procedura | Wymagany nagłówek |
---|---|
_setmaxstdio |
<stdio.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz _getmaxstdio
przykład użycia elementu _setmaxstdio
.