void mass(char filePath[]) {
fstream file(filePath, ios::in | ios::out | ios::binary);
if (!file) {
return;
}
file.seekg(0, ios::end);
unsigned fileSize = file.tellg();
file.seekg(ios::beg);
file.close();
// тут как то нужно записывать в память значение fileSize и суммировать все значения,
// обновляя итоговый результат в памяти
}
.
.
.
void endSumm() {
std::string buf;
string summ_mass = ""; // тут как то получить результат общего веса файлов из памяти,
// преобразовать в строку
return summ_mass;
}
#include<iostream>
#include<filesystem>
#include<string>
using namespace std;
namespace fs = filesystem;
auto getDirectorySize(const fs::path& p)
{
uintmax_t size = 0;
if(fs::is_directory(p))
{
for(const auto& f : fs::directory_iterator(p))
{
size += f.file_size();
}
}
return size;
}
int main()
{
string directory{ "C:\\TEMP" };
fs::path dp{ directory };
auto size{ getDirectorySize(dp) };
cout << "size of " << directory
<< " " << size
<< " bytes" << endl;
}
#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
size_t getFileSize(const string& filename)
{
ifstream ifs(filename);
size_t size = 0;
if(ifs)
{
ifs.seekg(0, ios_base::end);
size = ifs.tellg();
}
return size;
}
int main()
{
vector<string> filenames{
"C:\\TEMP\\aaa.txt", "C:\\TEMP\\bbb.txt", "C:\\TEMP\\ccc.txt"
};
size_t size = 0;
for(const string& fn : filenames)
{
size += getFileSize(fn);
}
cout << "Size: " << size << endl;
}
unsigned mass(char filePath[]) {
...
return fileSize;
}
...
unsigned sum_mass = 0;
sum_mass += mass("file1.txt");
sum_mass += mass("file2.txt");