Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
qazc
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 26
#1

Как узнать размер директории со всем ее содержимым? - C++

08.10.2013, 19:16. Просмотров 309. Ответов 1
Метки нет (Все метки)

Добрый вечер. Подскажите, пожалуйста, как узнать размер директории(папки) со всеми вложенными директориями и файлами?

Нашел такой код, но он не правильно считает размер(размер меньше чем должен быть):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <iostream>
#include <string>
#include <boost/filesystem.hpp>
#include <boost/filesystem/operations.hpp>
#include <boost/algorithm/string.hpp>
#include <stdio.h>
 
 
    using namespace std;
    namespace bsfs = boost::filesystem; 
 
    void  getFoldersize(string rootFolder,long & file_size){
        boost::replace_all(rootFolder, "\\\\", "\\");   
        bsfs::path folderPath(rootFolder);                      
        if (bsfs::exists(folderPath)){
            bsfs::directory_iterator end_itr;
 
            for (bsfs::directory_iterator dirIte(rootFolder); dirIte != end_itr; ++dirIte )
            {
                bsfs::path filePath(dirIte->path());
                try{
                    if (!bsfs::is_directory(dirIte->status()) )
                    {
 
                        file_size = file_size + bsfs::file_size(filePath);                      
                    }else{
                        getFoldersize(filePath.string(),file_size);
                    }
                }catch(exception& e){               
                    cout << e.what() << endl;
                }
            }
        }
 
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 19:16
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как узнать размер директории со всем ее содержимым? (C++):

Как узнать размер массива - C++
В задаче нужно для решения узнать размер массива. Если sizeof() возвращает кол-во занятой памяти в байтах, и sizeof(char)=2, то ...

Как узнать размер файла - C++
Вобщем программа -кодировщик методом Хаффмана, взята из интернета. Нужно добавить к ней вывод размера входного файла и сжатого.. ...

как узнать размер строки? - C++
есть массив указателей string **str на объекта класс string; как узнать размер строки, записанной, например, в *str?

Как узнать размер массива? - C++
Имею функцию template &lt;typename T&gt; int funk(T mas, T element) { //kod }

Как узнать размер массива? - C++
Нужно узнать размер введенного пользователем массива, но sizeof() почему-то не работает, помогите пожалуйста разобраться! int...

Как узнать размер объекта класса? - C++
Здравствуйте, Дамы и Господа! Есть ли функция, передающая значение количества байт, отведенных в памяти для объекта класса? Например...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
qazc
0 / 0 / 1
Регистрация: 01.11.2011
Сообщений: 26
16.10.2013, 16:01  [ТС] #2
Вопрос решен, нужно было еще учитывать размер директорий.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2013, 16:01
Привет! Вот еще темы с ответами:

как узнать размер std::stringstream - C++
в обьект типа stringstream пишем неизвестное число байт. Как узнать сколько байт записалось в поток?

Как узнать размер папки и её подкаталогов - C++
Всем привет. Возник вопрос: &quot;Как узнать размер папки и её подкаталогов&quot; Перерыв кучу информации я понял, что напрямую узнать...

Как узнать размер двумерного вектора? - C++
есть квадратная матрица. Для ее хранения создаю динамический массив: double **matrix = new double*; for (int i = 0; i &lt; range; i++) ...

Как узнать размер открытого файла - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;windows.h&gt; #include &lt;cstdlib&gt; #include &lt;stdio.h&gt; using namespace std; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru