*.ace datei offnen und unter anderem namen speichern



  • Moin!

    wie kann ich das hinbekommen eine *.ace datei zu öffnen und unter einem anderm namen abzuspeichern ?
    Hab schon rumprobiert aber es gibt immer nen fehler beim öffnen 😞

    Am coolsten wärs natürlich sie zu öffnen und verschlüsselt zu speichern -> geht das ?

    THX



  • Willst du den Inhalt der Datei auch veraendern, oder bloss wieder unter einem neuem Namen abspeichern? Dann solltest du dich mal nach Funktionen zum Kopieren von Dateien umschauen.



  • hi

    du könntest es ungefähr so machen:

    // benötigte includes: fstream
    
     const char KEY = 65; // = A
     char *old_filename = "ALTE.ACE";
     char *new_filename = "NEUE.ACE";
    
     std::ifstream in;
     std::ofstream out;
    
     in.open(old_filename,ios::binary); // Öffne Sourcefile
     out.open(new_filename,ios::binary);// Öffne Destfile
    
     char ch = 0; 
    
     while(!in.eof())// Wiederhole bis Dateiende
      {
        in.get(ch);     // Zeichen aus der Datei holen
        ch = ch ^ KEY;  // Zeichen per XOR mit KEY verschlüßeln
        out.put(c);     // Zeichen in neue Datei schreiben
      }
     in.close();
     out.close();
    

    Natürlich kann es sein das ich dich falsch verstanden habe!

    😛

    PS: Wenn du die alte datei noch löschen willst:

    remove(old_filename);
    


  • DANKE ! 😉



  • mhh irgentwie will das net so richtig klappen 😞

    er bleibt immer bei

    std::ifstream in;
    

    stehen und sagt "qualifier 'std' is not a class or namespace name"

    ?? Wie kann ich das prob beheben ??



  • Musste man da dann nicht vorher immer noch ein

    using namespace std;
    

    hinsetzen???
    Oder so aehnlich?
    MfG Aoeke



  • Nein, das brauchst du nur, wenn du auf den expliziten Zusatz 'std:' vor jedem Funktionsaufruf verzichten willst.
    Das Problem von TheGeek dürfte wohl sein, dass er diese Zeile nicht beachtet hat:

    // benötigte includes: fstream
    

Log in to reply