tmpfile_stmpfile_s

임시 파일을 만듭니다.Creates a temporary file. CRT의 보안 기능에 설명된 대로 보안 기능이 향상된 tmpfile 버전입니다.It is a version of tmpfile with security enhancements as described in Security Features in the CRT.

구문Syntax

errno_t tmpfile_s(
   FILE** pFilePtr
);

매개 변수Parameters

pFilePtrpFilePtr
생성된 스트림에 대한 포인터의 주소를 저장할 포인터의 주소입니다.The address of a pointer to store the address of the generated pointer to a stream.

Return ValueReturn Value

정상적으로 실행되는 경우 0을 반환하고 오류 시에는 오류 코드를 반환합니다.Returns 0 if successful, an error code on failure.

오류 조건Error Conditions

pFilePtrpFilePtr Return ValueReturn Value PFilePtr 의 내용 Contents of pFilePtr
NNULL EINVALEINVAL 변경되지 않음not changed

위의 매개 변수 유효성 검사 오류가 발생하는 경우 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다.If the above parameter validation error occurs, the invalid parameter handler is invoked, as described in Parameter Validation. 계속 해 서 실행 하도록 허용한 경우 errnoEINVAL 로 설정 되 고 반환 값은 EINVAL입니다.If execution is allowed to continue, errno is set to EINVAL and the return value is EINVAL.

설명Remarks

Tmpfile_s 함수는 임시 파일을 만들고 해당 스트림에 대 한 포인터를 pFilePtr 인수에 배치 합니다.The tmpfile_s function creates a temporary file and puts a pointer to that stream in the pFilePtr argument. 임시 파일은 루트 디렉터리에 만들어집니다.The temporary file is created in the root directory. 루트가 아닌 디렉터리에 임시 파일을 만들려면 fopen과 함께 tmpnam_s 또는 tempnam을 사용합니다.To create a temporary file in a directory other than the root, use tmpnam_s or tempnam in conjunction with fopen.

파일을 열 수 없는 경우 Tmpfile_s PFilePtr 매개 변수에 NULL 을 씁니다.If the file cannot be opened, tmpfile_s writes NULL to the pFilePtr parameter. 이 임시 파일은 파일이 닫힐 때, 프로그램이 정상적으로 종료 될 때 또는 현재 작업 디렉터리가 변경 되지 않는다고 가정할 때 _rmtmp 가 호출 될 때 자동으로 삭제 됩니다.This temporary file is automatically deleted when the file is closed, when the program terminates normally, or when _rmtmp is called, assuming that the current working directory does not change. 임시 파일은 w + b (이진 읽기/쓰기) 모드에서 열립니다.The temporary file is opened in w+b (binary read/write) mode.

TMP_MAX_S 이상 시도 하면 오류가 발생할 수 있습니다 (stdio.h 참조). H) tmpfile_s를 사용 하 여를 호출 합니다.Failure can occur if you attempt more than TMP_MAX_S (see STDIO.H) calls with tmpfile_s.

기본적으로이 함수의 전역 상태는 응용 프로그램으로 범위가 지정 됩니다.By default, this function's global state is scoped to the application. 이를 변경 하려면 CRT의 전역 상태를 참조 하세요.To change this, see Global state in the CRT.

요구 사항Requirements

루틴에서 반환된 값Routine 필수 헤더Required header
tmpfile_stmpfile_s <stdio.h><stdio.h>

호환성에 대한 자세한 내용은 Compatibility을 참조하세요.For additional compatibility information, see Compatibility.

예제Example

참고

이 예에서는 Windows에서 실행 하기 위해 관리자 권한이 필요할 수 있습니다.This example may require administrative privileges to run on Windows.

// 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() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted

참조See also

스트림 I/OStream I/O
_rmtmp_rmtmp
_tempnam, _wtempnam, tmpnam, _wtmpnam_tempnam, _wtempnam, tmpnam, _wtmpnam