tmpfile(), tmpfile64()
QNX SDP8.0C Library ReferenceAPIDeveloper
Create a temporary file
Synopsis:
#include <stdio.h>
FILE* tmpfile( void );
FILE* tmpfile64( void );
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The tmpfile() and tmpfile64() functions create a temporary file and open a corresponding FILE stream.
Note:
The tmpfile64() function is a large-file support version of
tmpfile() provided for backwards compatibility.
If you're using large-file support functions and data types, you should define
_LARGEFILE64_SOURCE with a value of 1 to ensure they appear in the name space.
For more information, see
Classificationin
What's in a Function Description?.
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.
Note:
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.
Returns:
A pointer to the stream of the temporary file, or NULL if an error occurs (errno is set).
Errors:
- EACCES
- The calling process doesn't have permission to create the temporary file.
- EINTR
- A signal was caught during the execution of tmpfile().
- EMFILE
- All file descriptors available to the process are currently open.
- ENFILE
- The system already has the maximum number of files open.
- ENOMEM
- Insufficient memory is available.
- ENOSPC
- The directory or filesystem that would contain the new file cannot be expanded.
- EROFS
- The filesystem for the temporary file is read-only.
Examples:
#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;
}
Classification:
tmpfile() is ANSI, POSIX 1003.1; tmpfile64() is Large-file support
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | No |
Thread | Yes |
Page updated: