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. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.