다음을 통해 공유


tmpfile

임시 파일을 만듭니다. 이 함수는 더 안전한 버전을 사용할 수 있으므로 더 이상 사용되지 않습니다. 를 참조하세요 tmpfile_s.

구문

FILE *tmpfile( void );

반환 값

tmpfile은 정상적으로 실행되는 경우 스트림 포인터를 반환합니다. 그렇지 않으면 NULL 포인터를 반환합니다.

설명

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

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

tmpfile을 사용하여 TMP_MAX(STDIO.H 참조)를 초과하는 호출을 시도하면 오류가 발생할 수 있습니다.

요구 사항

루틴에서 반환된 값 필수 헤더
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

참고 항목

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