std::filesystem::equivalent

std::filesystem::equivalent (두 경로가 같은 개체인지 확인)

두 경로 p1, p2가 같은 파일시스템 개체를 가리키는지 확인하는 함수예요. C++17부터 있어요.

출처: cppreference

본문

<filesystem> 헤더에 정의돼 있어요.

bool equivalent( const std::filesystem::path& p1,
                 const std::filesystem::path& p2 );              // (1) C++17
bool equivalent( const std::filesystem::path& p1,
                 const std::filesystem::path& p2,
                 std::error_code& ec ) noexcept;                 // (2) C++17

경로 p1p2가 같은 파일시스템 개체로 귀결되는지 확인해요. p1 또는 p2가 존재하지 않으면 오류를 보고해요. 예외 없는 버전은 오류 시 false를 돌려줘요.

매개변수

  • p1, p2 — 동등성을 확인할 경로
  • ec — 예외 없는 버전에서 오류 보고용 출력 매개변수

반환값

p1p2가 같은 파일·디렉터리를 가리키고 그 파일 상태가 같으면 true, 아니면 false예요.

예외

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

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

참고

두 경로가 귀결되는 두 후보 개체가 같은 장치에서 같은 위치에 있으면 두 경로는 같은 파일시스템 개체로 귀결된다고 봐요. POSIX에서는 두 경로의 POSIX stat 결과의 st_devst_ino 멤버가 같음을 의미해요.

더 알아보기 (Learn more)

cppreference