Поиск файлов в директории по расширению C++ [дубликат]

155
07 апреля 2019, 22:00

На данный вопрос уже ответили:

  • Поиск файла по расширению C++ 1 ответ

Как сделать поиск файлов в деректории с определенным раcширением?

Answer 1
#include <iostream>
#include <experimental/filesystem>
namespace fs = std::experimental::filesystem;
int main() {
    const auto req_ext = ".a";
    for (const auto& filename : fs::directory_iterator("/usr/lib")) {
        if (!fs::path(filename).extension().compare(req_ext))
            std::cout << "file: " << filename << "\n";
    }
    return 0;
}

Не забудьте указать stdc++fs в списке библиотек для линковки.

Вариант для CMake:

target_link_libraries(${PROJECT_NAME} PRIVATE
    stdc++fs)

UPD.: если Вам по какой-то причине нужны регулярные выражения, то см. код ниже (вариант для linux-based ОС).

#include <iostream>
#include <dirent.h>
#include <regex>
int main() {
    dirent* dirp;
    std::regex ext_regex("[a-z]+\\.a");
    if (DIR *dp = opendir("/usr/lib")) {
        while ((dirp = readdir(dp))) {
            if (std::regex_match(dirp->d_name, ext_regex)) {
                std::cout << dirp->d_name << "\n";
            }
        }
        closedir(dp);
    }
    return 0;
}
READ ALSO
Как мне сделать функцию для добавления элемент в заданую позицию односвязного списка?

Как мне сделать функцию для добавления элемент в заданую позицию односвязного списка?

Гуглиться за 1 минутуВ интеррнете куча информации на этот счет

130
c++: передача внешних параметров при поиске значений в векторе (при определённом операторе &lt;, &gt;)

c++: передача внешних параметров при поиске значений в векторе (при определённом операторе <, >)

Подскажите, как более правильнее и элегантнее решить следующую задачу:

178
буквенный поиск в vector

буквенный поиск в vector

При создании кнопки поиска компилятор выдает ошибку:

249