Как вывести в консоль названия текстовых файлов в папке? с++

Работаю с библиотекой fstream. Создаю файлы в папке, а как вывести их названия в консоли, не могу понять. Названия всех файлов.txt сразу и чтоб потом при удалении одного файла, он больше не отображался в консоли. Прошу помочь


Ответы (2 шт):

Автор решения: Zhihar

на чистом c++ (правда c++17):

#include <string>
#include <iostream>
#include <filesystem>

std::string path = "путь к папке";
for (const auto& entry : std::filesystem::directory_iterator(path))
    std::cout << entry.path() << std::endl;

что конкретно вывести о файле посмотрите тут: https://en.cppreference.com/w/cpp/filesystem/directory_entry

если хотите получить не путь к файлу, а только имя, то:

для имени файла: .filename()

для голого имени: .stem()

для расширения: .extension()

→ Ссылка
Автор решения: megorit
#include <string>
#include <iostream>
#include <filesystem>

using std::string_literals;

for (const auto& dir_entry : std::filesystem::directory_iterator{"path/to/dir"})
    if (dir_entry.path().extension().string() == ".txt"s)
        std::cout << dir_entry.path().filename() << std::endl;
→ Ссылка