Datei mit bestimmter Grösse erstellen



  • Hallo,

    fogendes Problem : es muss eine Datei ertsellt werden, die eine bestimmte Grösse hat, der Inhalt ist egal. Wie mache ich das, ohne die Datei mit einem String o.ä. zu füllen ? Denn das dauert bei 128MB zu lange.

    Danke schonmal 🙂

    Gruss
    Alex



  • ich leg so große dateien aus der kommandozeile an.

    fsutil createnew datei 134217728
    

    willtes mit der winapi machen, geht's, wenn ich mich recht erinnere gut mit SetFilePointer und SetEndOfFile.



  • volkard schrieb:

    ich leg so große dateien aus der kommandozeile an.

    fsutil createnew datei 134217728
    

    Super, Danke, das funktioniert und reicht auch schon 🙂

    muss aber heissen 😉

    fsutil file createnew datei 134217728
    


  • #include <fstream>
    using std::ofstream;
    
    int main() {
    	ofstream out("D:/temp/dat.dat"); // Ja, das klappt!! (thx @Volkard)
    	out.seekp(128*1024*1024);
    	out << " "; // irgendwie braucht er das, sonst ist die Datei 0 KB.
    	out.close();
    
    	return 0;
    }
    


  • hehejo schrieb:

    #include <fstream>
    using std::ofstream;
    
    int main() {
    	ofstream out("D:/temp/dat.dat"); // Ja, das klappt!! (thx @Volkard)
    	out.seekp(128*1024*1024);
    	out << " "; // irgendwie braucht er das, sonst ist die Datei 0 KB.
    	out.close();
    
    	return 0;
    }
    

    ist jetzt die datei ein byte länger als geplant, weil du noch ein " " drangebaut hast?



  • volkard schrieb:

    ist jetzt die datei ein byte länger als geplant, weil du noch ein " " drangebaut hast?

    Laut Windows nicht. Aber es ist eigentlich zu vermuten..
    Dann machen wir oben halt ein
    128*1024*1024-1 .



  • Andere Frage: Warum musst Du Dateien erzeugen, die 128MB gross sind?


Anmelden zum Antworten