Как можно получить размер файла

153
19 января 2020, 18:20

Я получаю параметры с командной строки cmd и вывожу их, затем нужно найти в этой папке с которой запущен скрипт файл с наибольшим размером, вопрос как можно получить размер файла?

#include <iostream.h>
using namespace std;
int main(int argc, char *argv[])
{
    for(int i=0;i<argc;i++)
    {
        cout<<"Argument"<<i<<":"<<argv[i]<<endl;
    }
    return 0;
}
Answer 1

Стандартная библиотека <filesystem>. Можно прочесть содержимое каталога с помощью directory_iterator, как набор directory_entry, у которого есть функция-член file_size(), возвращающая размер файла...

А дальше - просто найти максимальный.

Простейший пример -

namespace fs = std::filesystem;
int main()
{
    for(auto& p: fs::directory_iterator(".."))
    {
        std::cout
            << p.path() << " has size "
            << p.file_size() << " bytes" << std::endl;
    }
}

Ну, а найти максимальный и вывести - это уж вы самостоятельно :)

READ ALSO
Ошибка C2864 при работе с OpenCV

Ошибка C2864 при работе с OpenCV

Кто сталкивался с данной проблемой при работе с OpenCV? Язык С++, работаю в VS2013

155
Многопоточная обработка файлов в Qt C ++

Многопоточная обработка файлов в Qt C ++

Как организовать многопоточную обработку файлов (открытие, сбор данных, закрытие) из массива QFileInfoList?

153
Проблема с вектором в C++

Проблема с вектором в C++

Есть вот такой класс Student

140