tmpfile_s
임시 파일을 만듭니다. CRT의 보안 기능에 설명된 대로 보안 향상 기능이 포함된 tmpfile 버전입니다.
errno_t tmpfile_s(
FILE** pFilePtr
);
매개 변수
- [out] pFilePtr
스트림을 가리키는 생성된 포인터의 주소를 저장하는 포인터의 주소입니다.
반환 값
성공 시 0을 반환하고, 실패 시 오류 코드입니다.
오류 조건
pFilePtr |
반환 값 |
pFilePtr의 내용입니다. |
---|---|---|
NULL |
EINVAL |
변경 되지 않음 |
위의 매개 변수 검증 오류가 발생하는 경우, 매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다. 계속해서 실행하도록 허용된 경우, 이러한 함수는 errno를 EINVAL로 설정하고 -EINVAL을 반환합니다.
설명
tmpfile_s 함수는 임시 파일을 생성하고 pFilePtr 인수의 스트림을 가리키는 포인터를 넣습니다. 루트 디렉터리에 임시 파일이 만들어집니다. 루트 디렉터리에 임시 파일을 만들려면 fopen과 함께 tmpnam_s 또는 tempnam를 사용합니다.
파일을 열 수 없는 경우, tmpfile_s는 pFilePtr 매개 변수에 NULL를 기록합니다. 현재 작업 디렉터리가 변경되지 않았다는 가정 하에 이 임시 파일은 파일이 닫힐 때, 프로그램이 정상적으로 종료될 때, 혹은 _rmtmp이 호출되었을 때 자동적으로 삭제됩니다. 임시 파일은 w+b(이진 읽기/쓰기) 모드에서 열립니다.
만약 tmpfile_s.를 호출하여 TMP_MAX_S(STDIO.H를 참조)보다 더 시도하는 경우, 오류가 발생할 수 있습니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
tmpfile_s |
<stdio.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
예제
참고
이 예제에서는 Windows Vista를 실행하기 위한 관리자 권한이 필요합니다.
// 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() );
}
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.