ich für ein einfaches virtuelles Dateisystem-Archiv einen Extraktor jetzt schreibe (ohne Komprimierung).Wie Verzeichnisse automatisch erstellen ofstream mit
Mein Extraktor läuft in Probleme, wenn es eine Datei in ein Verzeichnis schreibt, das nicht existiert.
Extract-Funktion:
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
ist die VFS-Root-Datei, offset
der Wert ist, wenn die Datei gestartet wird, length
die Länge Datei ist und path
ist ein Wert aus der Datei, was speichern Offsets len usw.
Zum Beispiel Pfad Daten/Zeichen/actormotion.txt.
Danke.
es nicht möglich ist, mit einem 'std :: ofstream', es ist nur für Dateien zu schreiben. Es gibt wahrscheinlich einen guten Wrapper zum Erstellen von Verzeichnissen auf einer beliebigen Plattform in 'boost'. – stefan
@WhozCraig wird es schwer sein, weil dieses Archiv 20 000 Dateien in verschiedenen Verzeichnissen hatte. –