Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Класс
Описывает итератор ввода, выполняющий последовательный перебор имен файлов в каталоге. Для итератора Xвыражение *X вычисляет объект класса directory_entry , который упаковывает имя файла и все, что известно о его состоянии.
Класс хранит объект типа path, вызываемый mydir здесь в целях экспозиции, который представляет имя каталога, который должен быть последовательность, и объект типа directory_entry , вызываемого myentry здесь, который представляет текущее имя файла в последовательности каталогов. По умолчанию созданный объект типа directory_entry имеет пустое mydir имя пути и представляет итератор последовательности.
Например, учитывая каталог abc с записями def и ghiкодом:
for (directory_iterator next(path("abc")), end; next != end; ++next) visit(next->path());
вызовы visit с аргументами path("abc/def") и path("abc/ghi").
Дополнительные сведения и примеры кода см. в разделе Навигация по файловой системе (C++).
Синтаксис
class directory_iterator;
Конструкторы
| Конструктор | Description |
|---|---|
directory_iterator |
Создает входной итератор, который последовательность по именам файлов в каталоге. |
Функции элементов
| Функция-член | Description |
|---|---|
increment |
Пытается перейти к следующему имени файла в каталоге. |
Операторы
| Operator | Description |
|---|---|
operator!= |
Возвращает !(*this == right). |
operator= |
Операторы-члены присваивания по умолчанию работают корректно. |
operator== |
Возвращается true только в том случае, если *this оба и являются итераторами right конца последовательности или оба не являются итераторами последовательности. |
operator* |
Возвращает myentry. |
operator-> |
Возвращает &**this. |
operator++ |
Вызовы increment(), затем возвращает *thisили делает копию объекта, вызывает increment(), а затем возвращает копию. |
Требования
Заголовок: <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==
Оператор-член возвращается true только в том случае, если *this оба и являются итераторами right завершения последовательности или обоими не являются итераторами конца последовательности.
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++)