tmpfile - create a temporary file
#include <stdio.h> FILE *tmpfile(void);
The tmpfile() function creates a temporary file and opens a corresponding stream. The file will automatically be deleted when all references to the file are closed. The file is opened as in fopen() for update (w+).The largest value that can be represented correctly in an object of type off_t will be established as the offset maximum in the open file description.
If the process is killed in the period between file creation and unlinking, a permanent file may be left behind.
An error message may be written to standard error if the stream cannot be opened.
Upon successful completion, tmpfile() returns a pointer to the stream of the file that is created. Otherwise, it returns a null pointer and sets errno to indicate the error.
The tmpfile() function will fail if:
- [EINTR]
- A signal was caught during tmpfile().
- [EMFILE]
- {OPEN_MAX} file descriptors are currently open in the calling process.
- [ENFILE]
- The maximum allowable number of files is currently open in the system.
- [ENOSPC]
- The directory or file system which would contain the new file cannot be expanded.
- [EOVERFLOW]
- The file is a regular file and the size of the file cannot be represented correctly in an object of type off_t.
The tmpfile() function may fail if:
- [EMFILE]
- {FOPEN_MAX} streams are currently open in the calling process.
- [ENOMEM]
- Insufficient storage space is available.
None.
None.
None.
fopen(), tmpnam(), unlink(), <stdio.h>.
Derived from Issue 1 of the SVID.