Sto scrivendo un estrattore per un archivio di base del file system virtuale (senza compressione).Come creare automaticamente le directory usando ofstream
Il mio estrattore sta incontrando problemi quando scrive un file in una directory che non esiste.
funzioneEstratto:
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
è il root file VFS, offset
è il valore quando il file si avvia, length
è la lunghezza del file e path
è un valore da file di quello che salvare gli offset len ecc
Ad esempio percorso è data/char/actormotion.txt.
Grazie.
non è possibile con uno std :: ofstream' ', è in sola scrittura dei file. Probabilmente c'è un buon wrapper per creare directory su una piattaforma arbitraria in 'boost'. – stefan
@WhozCraig sarà difficile perché questo archivio ha 20.000 file in diverse directory. –