Wywołanie_i/o #8

Merged
yanczi merged 2 commits from Wywołanie_i/o into master 2025-11-25 18:07:33 +01:00
3 changed files with 32 additions and 21 deletions
Showing only changes of commit 5310d4f27c - Show all commits

View file

@ -243,6 +243,12 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
size_t size = f.tellg(); size_t size = f.tellg();
f.seekg(0, std::ios::beg); f.seekg(0, std::ios::beg);
if (size > MAX_FILE_SIZE)
{
std::cerr << path << " is too large. It exceeds 2GB!" << std::endl;
}
else
{
//Wczytanie pliku do pamięci //Wczytanie pliku do pamięci
std::vector<char> buffer(size); std::vector<char> buffer(size);
f.read(buffer.data(), size); f.read(buffer.data(), size);
@ -269,6 +275,8 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
filesTable.push_back(ft); filesTable.push_back(ft);
offset += pakBuffer.size(); offset += pakBuffer.size();
} }
}
return filesTable; return filesTable;
} }

View file

@ -87,6 +87,9 @@ private:
std::ofstream cargo; std::ofstream cargo;
uint64_t offset; uint64_t offset;
// Progress
std::atomic<uint64_t> progress;
// Tworzenie listy plików do spakowania // Tworzenie listy plików do spakowania

View file

@ -70,7 +70,7 @@ struct FilesTable
std::string nameFile; std::string nameFile;
uint64_t hashName; uint64_t hashName;
uint64_t offset; uint64_t offset;
uint32_t size; uint64_t size;
uint64_t crc; uint64_t crc;
int16_t flag; int16_t flag;
}; };