Create a temporary file
#include <stdio.h> FILE* tmpfile( void ); FILE* tmpfile64( void );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The tmpfile() and tmpfile64() functions create a temporary file and open a corresponding FILE stream. The tmpfile64() function is a large-file support version of tmpfile(). The file is automatically removed when it's closed or when the program terminates. The file is opened in update mode (as in fopen()'s w+ mode).
If the process is killed between file creation and unlinking, a permanent file may be left behind.
![]() |
When a stream is opened in update mode, both reading and writing may be performed. However, writing may not be followed by reading without an intervening call to fflush(), or to a file-positioning function (fseek(), fsetpos(), rewind()). Similarly, reading may not be followed by writing without an intervening call to a file-positioning function, unless the read resulted in end-of-file. |
A pointer to the stream of the temporary file, or NULL if an error occurs (errno is set).
#include <stdio.h>
#include <stdlib.h>
static FILE *TempFile;
int main( void )
{
TempFile = tmpfile();
…
fclose( TempFile );
/* The temporary file will be removed when we exit. */
return EXIT_SUCCESS;
}
tmpfile() is ANSI, POSIX 1003.1; tmpfile64() is Large-file support
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
fopen(), fopen64(), freopen(), freopen64(), tempnam(), tmpnam()