tmpfile
Создает временный файл. Эта функция устарела, так как доступна более безопасная версия; см. раздел tmpfile_s
.
Синтаксис
FILE *tmpfile( void );
Возвращаемое значение
В случае успешного выполнения tmpfile
возвращает указатель на поток. В противном случае возвращается указатель NULL
.
Замечания
Функция tmpfile
создает временный файл и возвращает указатель на этот поток. Временный файл создается в корневом каталоге. Чтобы создать временный файл в каталоге, отличном от корневого, используйте tmpnam
или tempnam
с fopen
.
Если файл не удается открыть, tmpfile
возвращает NULL
указатель. Этот временный файл автоматически удаляется при закрытии файла, когда программа завершается нормально или когда _rmtmp
вызывается, если текущий рабочий каталог не изменяется. Временный файл открывается в режиме w+b (двоичное чтение и запись).
Сбой может возникать при попытке выполнить более TMP_MAX (см. STDIO.H) вызовов с параметром tmpfile
.
Требования
Маршрут | Обязательный заголовок |
---|---|
tmpfile |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Примечание.
В этом примере требуются права администратора для работы в Windows Vista.
// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>
int main( void )
{
FILE *stream;
int i;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
if( (stream = tmpfile()) == NULL ) // C4996
// Note: tmpfile is deprecated; consider using tmpfile_s instead
perror( "Could not open new temporary file\n" );
else
printf( "Temporary file %d was created\n", i );
}
// Remove temporary files.
printf( "%d temporary files deleted\n", _rmtmp() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted
См. также
Потоковый ввод-вывод
_rmtmp
_tempnam
, , _wtempnam
tmpnam
_wtmpnam