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 opens a corresponding FILE stream. 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 the fflush() function, 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()