TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
C/C++ Ready | Программирование

22 Aug, 15:12

Открыть в Telegram Поделиться Пожаловаться

Считаем размер папки через std::filesystem!

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

В C++17 для обхода файловой системы есть std::filesystem.

Подключим нужные заголовки:
#include
#include

Для удобства заведём namespace:

namespace fs = std::filesystem;

Функция будет принимать путь к папке:

std::uintmax_t dir_size(const fs::path& root) {

Сначала заведём счётчик байт:

std::uintmax_t total = 0;

Теперь рекурсивно обойдём директорию:

for (const auto& entry : fs::recursive_directory_iterator(root)) {

Нас интересуют только обычные файлы. Папки и ссылки можно пропустить:

if (!entry.is_regular_file()) continue;

Размер файла добавляем в общий счётчик:

total += entry.file_size();

После обхода возвращаем результат:

return total;
}

Вызов может выглядеть так:

auto bytes = dir_size("logs");
std::cout

1.3k 0 14 16
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot