Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2017
 
 

tmpfile(3C)

Name

tmpfile - create a temporary file

Synopsis

#include <stdio.h>

FILE *tmpfile(void);

Description

The tmpfile() function creates a temporary file in /var/tmp and opens a corresponding stream. If that directory is not accessible, /tmp is used. The file will automatically be deleted when all references to the file are closed. The file is opened as in fopen(3C) 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.

Return Values

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.

Errors

The tmpfile() function will fail if:

EINTR

A signal was caught during the execution of tmpfile().

EMFILE

There are OPEN_MAX file descriptors 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.

The tmpfile() function may fail if:

EMFILE

There are FOPEN_MAX streams currently open in the calling process.

ENOMEM

Insufficient storage space is available.

Usage

The stream refers to a file which is unlinked. If the process is killed in the period between file creation and unlinking, a permanent file may be left behind.

The tmpfile() function has a transitional interface for 64-bit file offsets. See lf64(5).

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
Standard

See Also

unlink(2), fopen(3C), mkstemp(3C), mktemp(3C), tmpnam(3C), lf64(5), standards(5)