std::filesystem::is_directory

std::filesystem::is_directory (디렉터리인지 확인)

주어진 파일 상태나 경로가 디렉터리에 해당하는지 확인하는 함수예요. C++17부터 있어요.

출처: cppreference

본문

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

bool is_directory( std::filesystem::file_status s ) noexcept;  // (1) C++17
bool is_directory( const std::filesystem::path& p );           // (2) C++17
bool is_directory( const std::filesystem::path& p, std::error_code& ec ) noexcept; // (3) C++17

주어진 파일 상태나 경로가 디렉터리에 해당하는지 검사해요.

    1. s.type() == file_type::directory와 동등해요.
  • 2,3) 각각 is_directory(status(p)) 또는 is_directory(status(p, ec))와 동등해요.

매개변수

  • s — 확인할 file status
  • p — 조회할 경로
  • ec — 오류가 있을 때 수정할 오류 코드

반환값

p가 가리키는 파일 또는 s가 나타내는 유형이 디렉터리면 true, 아니면 false예요. 예외 없는 버전은 오류가 발생하면 false를 돌려줘요.

예외

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

  • 2,3) OS API 호출이 실패하면 error_code& 매개변수에 OS 오류 코드를 설정하고, 오류가 없다면 ec.clear()를 실행해요.

더 알아보기 (Learn more)

cppreference