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()가 참인 경로를 돌려줘요.

    1. 오류가 발생하면 기본 생성된 경로를 돌려주는 예외 없는 버전이에요.

매개변수

  • p — 절대 형태로 바꿀 경로
  • ec — 예외 없는 버전에서 오류 보고용 출력 매개변수

반환값

p와 같은 파일을 참조하는 절대(반드시 정규화된 것은 아닌) 경로 이름을 돌려줘요.

예외

noexcept로 표시되지 않은 오버로드는 메모리 할당이 실패하면 std::bad_alloc을 던질 수 있어요.

    1. OS API 오류가 있으면 p를 첫 경로 인자, OS 오류 코드를 오류 코드 인자로 삼아 std::filesystem::filesystem_error를 던져요.
    1. OS API 호출이 실패하면 error_code& 매개변수에 OS 오류 코드를 설정하고, 오류가 없다면 ec.clear()를 실행해요.

참고

구현에서는 p가 존재하지 않는 것을 오류로 간주하지 않도록 권장해요.

POSIX 기반 운영체제에서는 p가 빈 경로가 아닐 때 std::filesystem::absolute(p)std::filesystem::current_path() / p와 동등해요. Windows에서는 GetFullPathNameW 호출로 구현될 수 있어요.

더 알아보기 (Learn more)

cppreference