Создать временный файл
#include <stdio.h>FILE * tmpfile( void );FILE * tmpfile64( void );
libc
Функции tmpfile() и tmpfile64() создают временный файл и открывают соответствующий поток FILE
. Файл автоматически удаляется при закрытии или при завершении программы. Файл открывается в режиме обновления (т.е. fopen() с аргументом w+
).
Если процесс убивается между созданием файла и его закрытием, то постоянный файл может остаться.
Когда поток открывается в режиме обновления, может выполняться как чтение, так и запись. Однако за записью может не последовать чтение без промежуточного вызова функции fflush() или функции позиционирования файла ( fseek(), fsetpos(), rewind()). Аналогично, чтение может не сопровождаться записью без промежуточного вызова функции позиционирования файла, если только чтение не привело к завершению файла. |
Указатель на поток временного файла. Если возникла ошибка функция возвращает NULL
, код ошибки записывается в errno.
OPEN_MAX
файловых дескрипторов. #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() — ANSI, POSIX 1003.1; tmpfile64() — Поддержка больших файлов
fopen(), fopen64(), freopen(), freopen64(), tempnam(), tmpnam()
Предыдущий раздел: Описание API системной библиотеки