Как вывести в консоль названия текстовых файлов в папке? с++
Работаю с библиотекой 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;