Associates a C run-time file descriptor with an existing operating-system file handle.

int _open_osfhandle (
   intptr_t osfhandle,
   int flags 


  • osfhandle
    Operating-system file handle.

  • flags
    Types of operations allowed.

Return Value

If successful, _open_osfhandle returns a C run-time file descriptor. Otherwise, it returns –1.


The _open_osfhandle function allocates a C run-time file descriptor and associates it with the operating-system file handle specified by osfhandle. The flags argument is an integer expression formed from one or more of the manifest constants defined in Fcntl.h. When two or more manifest constants are used to form the flags argument, the constants are combined with the bitwise-OR operator ( | ).

Fcntl.h defines the following manifest constants.

    Positions a file pointer to the end of the file before every write operation.

    Opens the file for reading only.

  • _O_TEXT
    Opens the file in text (translated) mode.

To close a file opened with _open_osfhandle, call _close. The underlying handle is also closed by a call to _close, so it is not necessary to call the Win32 function CloseHandle on the original handle.



Required header



For more compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.

.NET Framework Equivalent


See Also


File Handling