std::filesystem::hard_link_count
std::filesystem::hard_link_count (하드 링크 수 얻기)
경로 p가 식별하는 파일시스템 개체에 대한 하드 링크 수를 돌려주는 함수예요. C++17부터 있어요.
출처: cppreference
본문
<filesystem> 헤더에 정의돼 있어요.
std::uintmax_t hard_link_count( const std::filesystem::path& p ); // (1) C++17
std::uintmax_t hard_link_count( const std::filesystem::path& p,
std::error_code& ec ) noexcept; // (2) C++17
경로 p가 식별하는 파일시스템 개체에 대한 하드 링크 수를 돌려줘요. 예외 없는 버전은 오류 시 static_cast<uintmax_t>(-1)을 돌려줘요.
매개변수
p— 검사할 경로ec— 예외 없는 버전에서 오류 보고용 출력 매개변수
반환값
p에 대한 하드 링크 수예요.
예외
noexcept로 표시되지 않은 오버로드는 메모리 할당이 실패하면 std::bad_alloc을 던질 수 있어요.
-
- OS API 오류가 있으면
p를 첫 경로 인자, OS 오류 코드를 오류 코드 인자로 삼아std::filesystem::filesystem_error를 던져요.
- OS API 오류가 있으면
-
- OS API 호출이 실패하면
ec에 OS 오류 코드를 설정하고, 오류가 없다면ec.clear()를 실행해요.
- OS API 호출이 실패하면
예제
POSIX 형식 파일시스템에서는 각 디렉터리가 최소 2개의 하드 링크를 가져요. 자기 자신과 특수 멤버 경로 이름 "." 말이에요.