tmpfile_s
임시 파일을 만듭니다. CRT의 tmpfile
보안 기능에 설명된 대로 향상된 보안 기능이 포함된 버전입니다.
구문
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