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