Wywołanie_i/o #8
3 changed files with 32 additions and 21 deletions
|
|
@ -243,6 +243,12 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
|
|||
size_t size = f.tellg();
|
||||
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
|
||||
std::vector<char> buffer(size);
|
||||
f.read(buffer.data(), size);
|
||||
|
|
@ -269,6 +275,8 @@ std::vector<FilesTable> CreateCargo::ComputingHeadFiles()
|
|||
filesTable.push_back(ft);
|
||||
offset += pakBuffer.size();
|
||||
}
|
||||
}
|
||||
|
||||
return filesTable;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -87,6 +87,9 @@ private:
|
|||
std::ofstream cargo;
|
||||
uint64_t offset;
|
||||
|
||||
// Progress
|
||||
std::atomic<uint64_t> progress;
|
||||
|
||||
|
||||
|
||||
// Tworzenie listy plików do spakowania
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ struct FilesTable
|
|||
std::string nameFile;
|
||||
uint64_t hashName;
|
||||
uint64_t offset;
|
||||
uint32_t size;
|
||||
uint64_t size;
|
||||
uint64_t crc;
|
||||
int16_t flag;
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue