directory_iterator
클래스
디렉터리에서 파일 이름을 통해 시퀀스되는 입력 반복기에 대해 설명합니다. 반복기의 X
경우 식 *X
은 파일 이름과 해당 상태에 대해 알려진 모든 항목을 래핑하는 클래스 directory_entry
의 개체로 평가됩니다.
클래스 path
mydir
는 시퀀스할 디렉터리의 이름과 디렉터리 시퀀스의 현재 파일 이름을 나타내는 여기서 호출 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
증분 수입니다.