The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group


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:
A signal was caught during tmpfile().
{OPEN_MAX} file descriptors are currently open in the calling process.
The maximum allowable number of files is currently open in the system.
The directory or file system which would contain the new file cannot be expanded.
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:

{FOPEN_MAX} streams are currently open in the calling process.
Insufficient storage space is available.








fopen(), tmpnam(), unlink(), <stdio.h>.


Derived from Issue 1 of the SVID.

UNIX ® is a registered Trademark of The Open Group.
Copyright © 1997 The Open Group
[ Main Index | XSH | XCU | XBD | XCURSES | XNS ]