_setmaxstdio_setmaxstdio

ストリーム入出力のレベルで同時に開かれるファイルの数の最大値を設定します。Sets a maximum for the number of simultaneously open files at the stream I/O level.

構文Syntax

int _setmaxstdio(
   int new_max
);

パラメーターParameters

new_maxnew_max
ストリーム入出力のレベルで同時に開かれるファイルの数の最大値。New maximum for the number of simultaneously open files at the stream I/O level.

戻り値Return Value

正常に終了した場合は new_max を返し、それ以外の場合は –1 を返します。Returns new_max if successful; -1 otherwise.

new_max_IOB_ENTRIES より小さいか、オペレーティング システムで使用できるハンドルの最大数より大きい場合には、「パラメーターの検証」で説明されているとおり、無効なパラメーター ハンドラーが呼び出されます。If new_max is less than _IOB_ENTRIES, or greater than the maximum number of handles available in the operating system, the invalid parameter handler is invoked, as described in Parameter Validation. 実行の継続が許可された場合、この関数は -1 を返し、errnoEINVAL に設定します。If execution is allowed to continue, this function returns -1 and sets errno to EINVAL.

エラー コードの詳細については、「_doserrno、errno、_sys_errlist、_sys_nerr」をご覧ください。For information about these and other error codes, see _doserrno, errno, _sys_errlist, and _sys_nerr.

RemarksRemarks

_setmaxstdio 関数は、ストリーム入出力のレベルで同時に開かれるファイル数の最大値を変更します。The _setmaxstdio function changes the maximum value for the number of files that may be open simultaneously at the stream I/O level.

C ランタイム入出力では現在、低入出力レベルで最大 8,192 のファイルを同時に開くことができます。C run-time I/O now supports up to 8,192 files open simultaneously at the low I/O level. このレベルには、入出力の _open_read_write の関数ファミリを使用して開いたり、アクセスしたりできるファイルが含まれます。This level includes files opened and accessed using the _open, _read, and _write family of I/O functions. 既定では、このストリーム入出力レベルでは最大 512 のファイルを同時に開くことができます。By default, up to 512 files can be open simultaneously at the stream I/O level. このレベルには、fopenfgetcfputc の関数ファミリを使用して開いたり、アクセスしたりできるファイルが含まれます。This level includes files opened and accessed using the fopen, fgetc, and fputc family of functions. このストリーム入出力レベルで開くことができる最大ファイル数 512 は、 _setmaxstdio 関数を使うことで、8,192 の最大値へ引き上げることができます。The limit of 512 open files at the stream I/O level can be increased to a maximum of 8,192 by use of the _setmaxstdio function.

fopen などのストリーム入出力レベルの関数は低入出力レベルの関数の上に構築されているため、8,192 という最大値は、C ランタイム ライブラリによってアクセスされる同時に開いているファイルの数の固定された上限です。Because stream I/O-level functions, such as fopen, are built on top of the low I/O-level functions, the maximum of 8,192 is a hard upper limit for the number of simultaneously open files accessed through the C run-time library.

注意

この上限は、特定の Win32 プラットフォームと構成でサポートされる上限を超える可能性があります。This upper limit might be beyond what's supported by a particular Win32 platform and configuration.

必要条件Requirements

ルーチンによって返される値Routine 必須ヘッダーRequired header
_setmaxstdio_setmaxstdio <stdio.h><stdio.h>

互換性の詳細については、「 互換性」を参照してください。For more compatibility information, see Compatibility.

Example

_setmaxstdio の使用例については、「_getmaxstdio」をご覧ください。See _getmaxstdio for an example of using _setmaxstdio.

関連項目See also

ストリーム入出力Stream I/O