共用方式為


_fileno

取得與資料流作關聯的檔案描述項。

int _fileno( 
   FILE *stream 
);

參數

  • stream
    FILE 結構的指標。

傳回值

_fileno 傳回的檔案描述項。 不會回傳錯誤。 如果 stream 沒有指定開啟檔案,則結果會是未定義。 如果資料流為 NULL,_fileno 則會叫用無效參數處理常式,如參數驗證中所述。 如果允許繼續執行,這個函式會傳回 errno,並將 EINVAL 設為 -1。

如需有關這些錯誤碼和其他錯誤碼的詳細資訊,請參閱 _doserrno、errno、_sys_errlist 和 _sys_nerr

注意事項注意事項

如果 stdout 或 stderr 沒有相關聯的輸出資料流 (例如,在沒有主控台視窗的 Windows 應用程式),傳回的檔案描述項為 -2。在舊版本中,傳回的檔案描述項為 -1。這項變更可以讓應用程式與錯誤區別此情況。

備註

_fileno 方法會傳回檔案描述目前與 stream。 這個常式會實作為函式和當做巨集。 如需選擇實作的詳細資訊,請參閱 選取函式和巨集之間

需求

功能

必要的標頭

_fileno

<stdio.h>

如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility)

範例

// crt_fileno.c
// This program uses _fileno to obtain
// the file descriptor for some standard C streams.
//

#include <stdio.h>

int main( void )
{
   printf( "The file descriptor for stdin is %d\n", _fileno( stdin ) );
   printf( "The file descriptor for stdout is %d\n", _fileno( stdout ) );
   printf( "The file descriptor for stderr is %d\n", _fileno( stderr ) );
}
  

.NET Framework 對等用法

System::IO::FileStream::Handle

請參閱

參考

資料流 I/O

_fdopen、_wfdopen

_filelength、_filelengthi64

fopen、_wfopen

freopen、_wfreopen