tmpfile_s

Создает временный файл.Версия tmpfile со службами расширений безопасности, как описано в разделе Средства безопасности в CRT.

errno_t tmpfile_s(
   FILE** pFilePtr
);

Параметры

  • [исходящий] pFilePtr
    Адрес указателя, чтобы хранить адрес созданного указателя в поток.

Возвращаемое значение

Возвращает 0 в случае успеха код ошибки при сбое.

Условия возникновения ошибок

pFilePtr

Возвращаемое значение

Содержимое pFilePtr

NULL

EINVAL

не изменено

Если вышеуказанная ошибка проверки параметров, то вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может продолжить, errno равно EINVAL и возвращаемое значение EINVAL.

Заметки

tmpfile_s функция создает временный файл и помещает указатель на этот поток в pFilePtr аргумент.Временный файл создается в корневом каталоге.Чтобы создать временный файл в каталоге за исключением корневого используйте tmpnam_s OR tempnam вместе с fopen.

Если файл не может быть открыт, tmpfile_s записи NULL к pFilePtr параметр.Этот временный файл автоматически удаляется, когда файл закрыт, когда программа или при завершении обычно _rmtmp вызывается при условии, что текущая рабочая папка не изменяется.Временный файл открывается в пределах w+b (binary чтение и запись).

Сбой может возникать при попытке более TMP_MAX_S (см. STDIO.H вызовы с). tmpfile_s.

Требования

Процедура

Обязательный заголовок

tmpfile_s

<stdio.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

ПримечаниеПримечание

Для выполнения этого примера в среде Windows Vista требуются права администратора.

// crt_tmpfile_s.c
// This program uses tmpfile_s to create a
// temporary file, then deletes this file with _rmtmp.
//

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char tempstring[] = "String to be written";
   int  i;
   errno_t err;

   // Create temporary files.
   for( i = 1; i <= 3; i++ )
   {
      err = tmpfile_s(&stream);
      if( err )
         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() );
}
  

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Поток ВВОДА-ВЫВОДА

_rmtmp

_tempnam, _wtempnam, tmpnam, _wtmpnam