std::filesystem::temp_directory_path
std::filesystem::temp_directory_path (임시 파일 디렉터리 얻기)
임시 파일에 적합한 디렉터리 위치를 돌려주는 함수예요. C++17부터 있어요.
출처: cppreference
본문
<filesystem> 헤더에 정의돼 있어요.
path temp_directory_path(); // (1) C++17
path temp_directory_path( std::error_code& ec ); // (2) C++17
임시 파일에 적합한 디렉터리 위치를 돌려줘요.
매개변수
(없음)
반환값
임시 파일에 적합한 디렉터리예요. 이 경로는 존재하고 디렉터리임이 보장돼요. error_code& 인자를 받는 오버로드는 오류 시 빈 경로를 돌려줘요.
예외
noexcept로 표시되지 않은 오버로드는 메모리 할당이 실패하면 std::bad_alloc을 던질 수 있어요.
-
- OS API 오류가 있으면 돌려줄 경로를 첫 경로 인자, OS 오류 코드를 오류 코드 인자로 삼아
std::filesystem::filesystem_error를 던져요.
- OS API 오류가 있으면 돌려줄 경로를 첫 경로 인자, OS 오류 코드를 오류 코드 인자로 삼아
-
- OS API 호출이 실패하면
ec에 OS 오류 코드를 설정하고, 오류가 없다면ec.clear()를 실행해요.
- OS API 호출이 실패하면
참고
POSIX 시스템에서는 환경 변수 TMPDIR, TMP, TEMP, TEMPDIR 중 하나에 지정된 경로일 수 있고, 모두 지정되지 않았다면 "/tmp"를 돌려줘요. Windows 시스템에서는 보통 GetTempPath가 돌려주는 경로예요.
예제
#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
int main()
{
std::cout << "Temp directory is " << fs::temp_directory_path() << '\n';
}
가능한 출력:
Temp directory is "C:\Windows\TEMP\"