共用方式為


_setmaxstdio

設定在資料流 I/O 層級同時開啟的檔案數目上限。

語法

int _setmaxstdio(
   int new_max
);

參數

new_max
在資料流 I/O 層級同時開啟的檔案數目新上限。

傳回值

如果成功,則傳 new_max 回 ;否則傳回 -1。

如果 new_max 小於 _IOB_ENTRIES ,或大於作業系統中可用的最大控制碼數目,則會叫用不正確參數處理常式,如參數驗證 中所述 。 如果允許繼續執行,此函式會傳回 -1,並將 errno 設為 EINVAL

如需這些錯誤碼和其他錯誤碼的相關資訊,請參閱 errno_doserrno_sys_errlist_sys_nerr

備註

_setmaxstdio 式會變更資料流程 I/O 層級可同時開啟之檔案數目的最大值。

C 執行階段 I/O 現在支援在低 I/O 層級最多同時開啟 8,192 個檔案。 此層級包含使用 _open_read_write 系列 I/O 函式開啟和存取的檔案。 根據預設,最多可在資料流 I/O 層級同時開啟 512 個檔案。 此層級包含使用 fopenfgetcfputc 函式系列開啟和存取的檔案。 資料流程 I/O 層級的 512 個開啟檔案限制可以增加到最多 8,192 個,方法是使用 函 _setmaxstdio 式。

因為資料流程 I/O 層級函式,例如 fopen ,建置在低 I/O 層級函式之上,因此 8,192 的最大限制是透過 C 執行時間程式庫同時存取的檔案數目的硬上限。

注意

此上限可能會超過特定 Win32 平台和組態支援的值。

需求

常式 必要的標頭
_setmaxstdio <stdio.h>

如需相容性詳細資訊,請參閱相容性

範例

如需使用 _setmaxstdio 的範例,請參閱 _getmaxstdio

另請參閱

資料流 I/O