다음을 통해 공유


directory_iterator 클래스

디렉터리에서 파일 이름을 통해 시퀀스되는 입력 반복기에 대해 설명합니다. 반복기의 X경우 식 *X 은 파일 이름과 해당 상태에 대해 알려진 모든 항목을 래핑하는 클래스 directory_entry 의 개체로 평가됩니다.

클래스 pathmydir 는 시퀀스할 디렉터리의 이름과 디렉터리 시퀀스의 현재 파일 이름을 나타내는 여기서 호출 myentry 되는 형식 directory_entry 의 개체를 저장합니다. 형식 directory_entry 의 기본 생성된 개체에는 빈 mydir 경로 이름이 있으며 시퀀스 끝 반복기를 나타냅니다.

예를 들어 항목 및 ghi코드가 있는 디렉터리를 abc 지정합니다def.

for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());

인수 path("abc/def") 및 .을 사용하여 호출 visit 합니다path("abc/ghi").

자세한 내용 및 코드 예제를 보려면 파일 시스템 탐색(C++)을 참조하세요.

구문

class directory_iterator;

생성자

생성자 Description
directory_iterator 디렉터리의 파일 이름을 순서로 정렬하는 입력 반복기를 생성합니다.

멤버 함수

멤버 함수 설명
increment 디렉터리의 다음 파일 이름으로 이동하려고 시도합니다.

연산자

연산자 설명
operator!= !(*this == right)을(를) 반환합니다.
operator= 기본 멤버 대입 연산자가 예상대로 작동합니다.
operator== 시퀀스 끝 반복기이거나 right 둘 다 *this 시퀀스 끝 반복기가 아닌 경우에만 반환 true 합니다.
operator* myentry을(를) 반환합니다.
operator-> &**this을(를) 반환합니다.
operator++ 를 호출increment()한 다음 개체increment()의 복사본을 반환*this하거나 호출한 다음 복사본을 반환합니다.

요구 사항

머리글: <filesystem>

네임스페이스: std::filesystem

directory_iterator::directory_iterator

첫 번째 생성자는 시퀀스의 끝 반복기를 생성합니다. 두 번째 및 세 번째 생성자는 저장 pval mydir한 다음 디렉터리로 열고 읽으 mydir 려고 시도합니다. 성공하면 디렉터리에 myentry첫 번째 파일 이름을 저장합니다. 그렇지 않으면 시퀀스 끝 반복기를 생성합니다.

기본 생성자는 예상대로 동작합니다.

directory_iterator() noexcept;
explicit directory_iterator(const path& pval);

directory_iterator(const path& pval, error_code& ec) noexcept;
directory_iterator(const directory_iterator&) = default;
directory_iterator(directory_iterator&&) noexcept = default;

매개 변수

pval
저장된 파일 이름 경로입니다.

ec
상태 오류 코드입니다.

directory_iterator
저장된 개체입니다.

directory_iterator::increment

함수는 디렉터리의 다음 파일 이름으로 이동하려고 합니다. 성공하면 해당 파일 이름을 myentry저장하고, 그렇지 않으면 시퀀스 끝 반복기를 생성합니다.

directory_iterator& increment(error_code& ec) noexcept;

directory_iterator::operator!=

멤버 연산자는 !(*this == right)를 반환합니다.

bool operator!=(const directory_iterator& right) const;

매개 변수

right
directory_iterator 비교되는 입니다 directory_iterator.

directory_iterator::operator=

기본 멤버 대입 연산자가 예상대로 작동합니다.

directory_iterator& operator=(const directory_iterator&) = default;
directory_iterator& operator=(directory_iterator&&) noexcept = default;

매개 변수

right
directory_iterator 복사되는 항목입니다 directory_iterator.

directory_iterator::operator==

멤버 연산자는 시퀀스 끝 반복기이거나 right 둘 다 *this 시퀀스 끝 반복기가 아닌 경우에만 반환 true 됩니다.

bool operator==(const directory_iterator& right) const;

매개 변수

right
directory_iterator와 비교할 directory_iterator입니다.

directory_iterator::operator*

멤버 연산자는 myentry를 반환합니다.

const directory_entry& operator*() const;

directory_iterator::operator->

멤버 함수는 &**this를 반환합니다.

const directory_entry * operator->() const;

directory_iterator::operator++

첫 번째 멤버 함수가 호출 increment()한 다음, .를 반환합니다 *this. 두 번째 멤버 함수는 개체의 복사본을 만들고 호출 increment()한 다음 복사본을 반환합니다.

directory_iterator& operator++();
directory_iterator& operator++(int);

매개 변수

int
증분 수입니다.

참고 항목

<filesystem>
헤더 파일 참조
파일 시스템 탐색(C++)