--- title: "_commit" ms.date: "11/04/2016" apiname: ["_commit"] apilocation: ["msvcrt.dll", "msvcr80.dll", "msvcr90.dll", "msvcr100.dll", "msvcr100_clr0400.dll", "msvcr110.dll", "msvcr110_clr0400.dll", "msvcr120.dll", "msvcr120_clr0400.dll", "ucrtbase.dll", "api-ms-win-crt-stdio-l1-1-0.dll"] apitype: "DLLExport" f1_keywords: ["_commit", "commit"] helpviewer_keywords: ["files [C++], flushing", "flushing files to disk", "commit function", "_commit function", "committing files to disk"] ms.assetid: d0c74d3a-4f2d-4fb0-b140-2d687db3d233 --- # _commit Flushes a file directly to disk. ## Syntax ```C int _commit( int fd ); ``` ### Parameters *fd*
File descriptor referring to the open file. ## Return Value **_commit** returns 0 if the file was successfully flushed to disk. A return value of -1 indicates an error. ## Remarks The **_commit** function forces the operating system to write the file associated with *fd* to disk. This call ensures that the specified file is flushed immediately, not at the operating system's discretion. If *fd* is an invalid file descriptor, the invalid parameter handler is invoked, as described in [Parameter Validation](../../c-runtime-library/parameter-validation.md). If execution is allowed to continue, the function returns -1 and **errno** is set to **EBADF**. ## Requirements |Routine|Required header|Optional headers| |-------------|---------------------|----------------------| |**_commit**|\|\| For more compatibility information, see [Compatibility](../../c-runtime-library/compatibility.md). ## See also [Low-Level I/O](../../c-runtime-library/low-level-i-o.md)
[_creat, _wcreat](creat-wcreat.md)
[_open, _wopen](open-wopen.md)
[_read](read.md)
[_write](write.md)