다음을 통해 공유


tmpfile_s

임시 파일을 만듭니다. CRTtmpfile 보안 기능에 설명된 대로 향상된 보안 기능이 포함된 버전입니다.

구문

errno_t tmpfile_s(
   FILE** pFilePtr
);

매개 변수

pFilePtr
생성된 스트림에 대한 포인터의 주소를 저장할 포인터의 주소입니다.

반환 값

정상적으로 실행되는 경우 0을 반환하고 오류 시에는 오류 코드를 반환합니다.

오류 조건

pFilePtr 반환 값 pFilePtr의 내용
NULL EINVAL 변경되지 않음

위의 매개 변수 유효성 검사 오류가 발생하면 매개 변수 유효성 검사설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 실행을 계속하도록 허용된 경우 다음 errno 으로 EINVAL설정되며 반환 값은 다음과 입니다 EINVAL.

설명

tmpfile_s 함수는 임시 파일을 만들고 해당 스트림에 대한 포인터를 pFilePtr 인수에 추가합니다. 임시 파일은 루트 디렉터리에 만들어집니다. 루트가 아닌 디렉터리에 임시 파일을 만들려면 사용 tmpnam_s 하거나 tempnam 사용하십시오 fopen.

파일을 열 tmpfile_s 수 없는 경우 매개 변수에 pFilePtr 씁니다NULL. 이 임시 파일은 현재 작업 디렉터리가 변경되지 않는다고 가정하고 파일이 닫히거나 프로그램이 정상적으로 종료되거나 호출될 때 _rmtmp 자동으로 삭제됩니다. 임시 파일은 w+b(이진 읽기/쓰기) 모드로 열립니다.

이상 TMP_MAX_S 시도하면 오류가 발생할 수 있습니다(STDIO 참조). H) 를 사용하여 호출합니다 tmpfile_s.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

루틴에서 반환된 값 필수 헤더
tmpfile_s <stdio.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

참고 항목

이 예제에서는 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

참고 항목

스트림 I/O
_rmtmp
_tempnam, _wtempnam, tmpnam_wtmpnam