PROBLEM BEI DATEIAUFRUF ?_?



  • Guten Abend!

    Ich möchte mich scho mal entschuldigen, falls die Frage schon einmal gestellt worden ist, da ich zu faul war, mir das gesamte forum zu gemüte zu führen.
    ich hoffe, dass das zu verstehen ist 😉

    So, nun zu meinem problem.

    Ich wollte eine kleine dateiveschlüsselung schreiben. allerdings scheitert dies daran, die dateien zu öffnen.

    quellcode:

    #include <iostream>
    #include <fstream>
    #include <stdlib.h>
    
    using namespace std;
    
    char mycrypt1 (char ch1, char key1) {
         return ch1+key1;
         }
    int main (void) {
        cout<<"verschluesselung"<<endl;
        cout<<endl<<"bitte quelldatei in verzeichnis des verschluesslungsprogramms verschieben \n";
        system("pause");
        cout<<"quelldateinamen angeben"<<endl;
        string quelle;
        cin>>quelle;
        ifstream verschlin;
        verschlin.open(quelle, ios_base::in);
        if ( verschlin) {
             goto weiter;
             }
             else
             {
                 cerr<<"Datei konnte nicht geoeffnet werden!"<<endl;
                 goto ende;
                 }
        weiter:
               cout<<"bitte zieldateinamen + erweiterung angeben ( wird dann erstellt )"<<endl;
               string ziel;
               cin>>ziel;
               cout<<"bitte key angeben ( bestehend aus einer zahl )"<<endl;
               int yourkey1;
               cin>>yourkey1;
               ofstream verschlout(ziel);
               char ch=verschlin.get();
               while(!verschlin.eof()){
                    out<<crypt(ch,yourkey1);
                    ch=verschlin.get();
               }
               goto ende;     
    
        ende:
             cout<<endl;
             system("pause");
             return 0;
    }
    

    (Übrigens: auch über allgemeine infos wär ich nich böse :PP hab ja erst mit c++ angefangen)

    So: Ich habe denke ich schon den fehler gefunden, weiß allerdings nich, wie ich ihn beheben soll: verschl.open (..,..) erwartet einen string wie ".." und ich gebe dem command ne variable..

    kann mir wer helfen, das zu beheben????

    danke scho im voraus!

    Ps: ich weiß, man soll "system ("*") " nich verwenden ... DAS hab ich gelesen :PPP



  • ifstream.open() erwartet einen Zeiger auf ein char-array.

    Setz einfach anstatt quelle quelle.c_str() ein, das liefert dir das Char-Array aus des Strings 😉



  • Abend nochma!

    Danke für die schnelle hilfe, ich werds jetz ma ausprobiern 😉


Anmelden zum Antworten