_setmaxstdio

ストリーム入出力のレベルで同時に開かれるファイルの数の最大値を設定します。

構文

int _setmaxstdio(
   int new_max
);

パラメーター

new_max
ストリーム入出力のレベルで同時に開かれるファイルの数の最大値。

戻り値

正常に終了した場合は new_max を返し、それ以外の場合は -1 を返します。

オペレーティング システムで使用可能なハンドルの最大数より小さい_IOB_ENTRIESか、またはより大きい場合new_maxは、「パラメーターの検証」の説明に従って無効なパラメーター ハンドラーが呼び出されます。 実行の継続が許可された場合、この関数は -1 を返し、errnoEINVAL に設定します。

これらのエラー コードおよびその他のエラー コードの詳細については、「errno_doserrno_sys_errlist_sys_nerr」を参照してください。

解説

_setmaxstdio 関数は、ストリーム入出力のレベルで同時に開かれるファイル数の最大値を変更します。

C ランタイム入出力では現在、低入出力レベルで最大 8,192 のファイルを同時に開くことができます。 このレベルには、入出力の _open_read_write の関数ファミリを使用して開いたり、アクセスしたりできるファイルが含まれます。 既定では、このストリーム入出力レベルでは最大 512 のファイルを同時に開くことができます。 このレベルには、fopenfgetcfputc の関数ファミリを使用して開いたり、アクセスしたりできるファイルが含まれます。 このストリーム入出力レベルで開くことができる最大ファイル数 512 は、_setmaxstdio 関数を使うことで、8,192 の最大値へ引き上げることができます。

fopen などのストリーム入出力レベルの関数は低入出力レベルの関数の上に構築されているため、8,192 という最大値は、C ランタイム ライブラリによってアクセスされる同時に開いているファイルの数の固定された上限です。

Note

この上限は、特定の Win32 プラットフォームと構成でサポートされる上限を超える可能性があります。

必要条件

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

互換性の詳細については、「 Compatibility」を参照してください。

_setmaxstdio の使用例については、_getmaxstdio を参照してください。

関連項目

ストリーム入出力