Теперь я пишу экстрактор для архива базовой виртуальной файловой системы (без сжатия).Как создавать каталоги автоматически с использованием потока
У моего экстрактора возникают проблемы при записи файла в каталог, который не существует.
функцияExtract:
void extract(ifstream * ifs, unsigned int offset, unsigned int length, std::string path)
{
char * file = new char[length];
ifs->seekg(offset);
ifs->read(file, length);
ofstream ofs(path.c_str(), ios::out|ios::binary);
ofs.write(file, length);
ofs.close();
cout << patch << ", " << length << endl;
system("pause");
delete [] file;
}
ifs
является VFS корневой файл, offset
это значение при запуске файла, length
длина файла и path
это значение из файла, что сохранить смещения Len и т.д.
Например, путь - это данные/char/actormotion.txt.
Спасибо.
это не возможно, с 'станд :: ofstream', это только для записи файлов. Вероятно, есть хорошая оболочка для создания каталогов на произвольной платформе в 'boost'. – stefan
@WhozCraig будет сложно, потому что в этом архиве было 20 000 файлов в разных каталогах. –