Как посчитать количество файлов в папке на с++?

Пользователь

от jaylen.trantow , в категории: C/C++ , 9 месяцев назад

Как посчитать количество файлов в папке на с++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от karen.wisozk , 9 месяцев назад

@jaylen.trantow 

Для подсчета количества файлов в папке на C++ можно использовать стандартную библиотеку <filesystem>, предоставляемую компилятором начиная с C++17.


Вот пример кода, который подсчитывает количество файлов в указанной папке:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
#include 
#include 

namespace fs = std::filesystem;

int main() {
    const std::string directoryPath = "/path/to/directory"; // замените на свой путь к папке

    int fileCount = 0;

    for (const auto& entry : fs::directory_iterator(directoryPath)) {
        if (entry.is_regular_file()) {
            fileCount++;
        }
    }

    std::cout << "Количество файлов: " << fileCount << std::endl;

    return 0;
}


Прежде всего, добавьте директиву #include <filesystem> в свой код. Затем используйте пространство имен std::filesystem для удобного доступа к функциям, классам и типам библиотеки.


В основной функции main объявляется переменная directoryPath, которую вы должны заменить на свой путь к папке, в которой вы хотите подсчитать файлы.


Затем объявляется счетчик fileCount, который будет увеличиваться каждый раз, когда мы встречаем файл в папке.


Для подсчета файлов мы использовали цикл for по итератору папки directory_iterator, который возвращает directory_entry, представляющий каждый файл или подкаталог в указанной папке. Затем мы используем метод is_regular_file() для проверки, является ли текущий элемент файлом. Если is_regular_file() возвращает true, мы увеличиваем счетчик fileCount.


Наконец, мы выводим на экран количество файлов, которое мы подсчитали.