Datei kopieren



  • Hallo

    Ich habe ein kleineres Problem:
    Ich möchte ein Programm schreiben (Konsole mit Dev-C++) das eine Datei kopiert, dazu muss ich zuerst die Datei komplett einlesen.
    Ich habe es oft versucht aber jedes mal liest er mir nur eine Zeile!
    Wie kann ich die gesamte Datie in einer Variable speichern, ewentuell verändern und dann wieder ausgeben?

    Danke



  • Zeig mal den Code, den du bereits hast..



  • Warum willst du die Datei komplett einlesen? Tuts nicht auch im Prinzip "Lies eine Zeile - schreib eine Zeile in neue Datei - lies die nächste Zeile - schreib die nächste Zeile" so lange bis die Quelldatei vollständig gelesen ist?

    Ich hoffe, das hilft weiter, zeig einfach mal deinen Ansatz!

    Gruß,
    U-Boot



  • Wie hast du es denn eingelesen ??? Code ???



  • Datei binär öffnen, und byte für byte , kopieren bzw. bytes für bytes.. je nach buffer..



  • Ich habe das ungefähr so:

    string pfad, neuerPfad;
    cin>>pfad;
    
    neuerPfad = NeuenPfadErstellen(pfad);
     //Die Funktion NeuenPfadErstellen macht zB aus neu.txt neu(Kopie).txt
    
     fstream in;
       in.open(pfad.c_str(), ios::in);
    
            string  inhalt="";
            char c;
            while(in.get(c))
            inhalt+=c; 
    
        fstream out;
        out.open(neuerPfad.c_str(), ios::out);
        out<<all;
    




  • Nein mit dem Programm lassen sich zwar mehrzeilige Textdateien kopieren aber nicht andere Dateien wie .exe oder .jpg!

    fstream in, out;
    
       in.open(pfad.c_str(), ios::in);
       out.open(neuerPfad.c_str(), ios::out);
    
       out<<in.rdbuf();
    


  • Dev-C++ == Windows == "CopyFile(SourceFile, TargetFile);"

    #InDenRaumWerf #gg



  • tuxer schrieb:

    Nein mit dem Programm lassen sich zwar mehrzeilige Textdateien kopieren aber nicht andere Dateien wie .exe oder .jpg!

    fstream in, out;
    
       in.open(pfad.c_str(), ios::in);
       out.open(neuerPfad.c_str(), ios::out);
       
       out<<in.rdbuf();
    

    Du musst die Datei im Binär-Modus lesen und schreiben, dann klappts afaik mit allen Arten von Dateien.



  • Mr Evil schrieb:

    Dev-C++ == Windows == "CopyFile(SourceFile, TargetFile);"

    #InDenRaumWerf #gg

    und weil ich kdevelop benutzte, schreibe ich programme die nur unter
    linux laufen
    #kopfschüttel #



  • Blödsinn schrieb:

    und weil ich kdevelop benutzte, schreibe ich programme die nur unter
    linux laufen
    #kopfschüttel #

    war ja auch ne ernst gemeint - darum ja das "#gg" hinten drann {o;


Log in to reply