tmpnam 예제

다음 예제에서는 tmpnam() 함수의 사용을 보여 주며 있습니다. 다음 예제에서는 접두사 파일과 함께 디렉터리 /tmp의 임시 파일에 대한 경로 이름을 생성합니다. 파일 이름을 만든 후 free() 호출은 파일 이름을 저장하는 데 사용되는 공간을 할당 합니다. . tmpnam() 함수는 동일한 프로세스에서 호출될 때마다 {TMP_MAX} 시간까지 다른 문자열을 생성합니다. {TMP_MAX} 시간 보다 더 호출 되는 경우 동작은 구현 정의 됩니다. tempnam()의 일부 구현은 내부적으로 tmpnam()을 사용할 수 있습니다. 이러한 구현에서 단일 프로세스에서 {TMP_MAX} 시간 이상을 호출하는 경우 동작은 구현 정의됩니다. 반환 값은 임시 파일에 대해 제안된 이름을 포함하는 C 문자열에 대한 포인터입니다. str이 null 포인터인 경우 이 함수가 다음에 호출될 때 덮어쓰는 내부 버퍼를 가리킵니다.

TMP 환경 변수가 정의되지 않았거나 존재하지 않는 디렉터리 이름으로 설정되어 있고 dir이 NULL이거나 존재하지 않는 디렉터리 이름으로 설정된 경우 _tempnam은 현재 작업 디렉터리를 사용하여 고유한 이름을 생성합니다. 현재 TMP와 dir이 존재하지 않는 디렉터리 이름을 지정하면 _tempnam 함수 호출이 실패합니다. . 잘못된 내용을 찾거나 위에서 설명한 주제에 대한 자세한 정보를 공유하려면 의견을 작성하십시오. _tempnam에서 반환하는 이름은 접두사와 순차적 숫자의 결합으로, 지정된 디렉터리에 대한 고유한 파일 이름을 만들기 위해 결합됩니다. _tempnam은 확장명이 없는 파일 이름을 생성합니다. _tempnam은 malloc을 사용하여 파일 이름에 대한 공간을 할당합니다. 이 프로그램은 더 이상 필요하지 않은 경우 이 공간을 확보할 책임이 있습니다. TMP 환경 변수가 정의되고 유효한 디렉터리 이름으로 설정되면 TMP에서 지정한 디렉터리에 대해 고유한 파일 이름이 생성됩니다. 임시 파일을 만드는 데 사용할 수 있는 이름을 생성합니다. 이러한 함수 중 일부의 보다 안전한 버전을 사용할 수 있습니다. 참조 tmpnam_s, _wtmpnam_s.

. 인수 s가 null 포인터인 경우 tmpnam()은 그 결과를 내부 정적 개체에 두고 해당 개체에 포인터를 반환합니다. tmpnam()에 대한 후속 호출은 동일한 개체를 수정할 수 있습니다. 인수 s가 null 포인터가 아닌 경우 적어도 L_tmpnam chars의 배열을 가리키는 것으로 추정됩니다. tmpnam()은 그 결과를 해당 배열에 기록하고 인수를 그 값으로 반환해야 합니다. IEEE Std 1003.1-2001/Cor 2-2004, 항목 XSH/TC2/D6/142가 적용되어 tempnam() 함수의 구현이 tmpnam()을 호출할 수 있도록 설명을 업데이트합니다. tmpnam의 경우 이 생성된 파일 이름을 str에 저장할 수 있습니다. str이 NULL이면 tmpnam은 결과를 내부 정적 버퍼에 둡트합니다. 따라서 후속 호출은 이 값을 삭제합니다. tmpnam에 의해 생성된 이름은 프로그램에서 생성된 파일 이름으로 구성되며, tmpnam에 대한 첫 번째 호출 후 기본 32(STDIO에서 TMP_MAX)에서 순차적 숫자의 파일 확장명으로 구성됩니다.

H는 32,767)입니다. 구현은 tempnam()을 제외하고 IEEE Std 1003.1-2001의 이 볼륨에 정의된 함수가 없는 것처럼 동작합니다. _DEBUG 및 _CRTDBG_MAP_ALLOC가 정의되면 _tempnam 및 _wtempnam은 _tempnam_dbg 및 _wtempnam_dbg에 대한 호출로 대체됩니다.