std::filesystem::absolute
std::filesystem::absolute (절대 경로 만들기)
주어진 경로 p와 같은 파일시스템 위치를 가리키면서 path::is_absolute()가 참인 경로를 돌려주는 함수예요. C++17부터 있어요.
출처: cppreference
본문
<filesystem> 헤더에 정의돼 있어요.
path absolute( const std::filesystem::path& p ); // (1) C++17
path absolute( const std::filesystem::path& p, std::error_code& ec ); // (2) C++17
p와 같은 파일시스템 위치를 참조하면서 path::is_absolute()가 참인 경로를 돌려줘요.
-
- 오류가 발생하면 기본 생성된 경로를 돌려주는 예외 없는 버전이에요.
매개변수
p— 절대 형태로 바꿀 경로ec— 예외 없는 버전에서 오류 보고용 출력 매개변수
반환값
p와 같은 파일을 참조하는 절대(반드시 정규화된 것은 아닌) 경로 이름을 돌려줘요.
예외
noexcept로 표시되지 않은 오버로드는 메모리 할당이 실패하면 std::bad_alloc을 던질 수 있어요.
-
- OS API 오류가 있으면
p를 첫 경로 인자, OS 오류 코드를 오류 코드 인자로 삼아std::filesystem::filesystem_error를 던져요.
- OS API 오류가 있으면
-
- OS API 호출이 실패하면
error_code&매개변수에 OS 오류 코드를 설정하고, 오류가 없다면ec.clear()를 실행해요.
- OS API 호출이 실패하면
참고
구현에서는 p가 존재하지 않는 것을 오류로 간주하지 않도록 권장해요.
POSIX 기반 운영체제에서는 p가 빈 경로가 아닐 때 std::filesystem::absolute(p)가 std::filesystem::current_path() / p와 동등해요. Windows에서는 GetFullPathNameW 호출로 구현될 수 있어요.