Problem mit ifstream



  • Hallo @all!!!

    Ich habe folgendes Problem mit #include <fstream> bzw. mit ifstream:

    ...
    #include <fstream>
    ...
    int main()
    {
        string name;
        string passwort;
        string dateiname = ("daten.txt");
    
        cout<<"Name, Passwort:  ";
        cin>>name;
        cin>>passwort;
    
        ofstream dat_aus;
        dat_aus.open(dateiname.c_str(), ios_base::out);
        ...
        dat_aus.close();
    
        ...
    
        ifstream dat_ein;
        ifstream>>dateiname;
    
        if(name == dateiname)
        {
            cout<<"Wilkommen im Programm"<<endl;
            ...
        }
        else
            cout<<"Falscher Name"<<endl;
    
        dat_ein.close();
    
        return 0;
    
    }
    

    (Der Compiler zeigt keinen Fehler an, ich hab also alles richtig geschrieben. Leider hab ich den Quelltext auf nem anderen PC. Ich hät ihn auch gerne ganz gepostet.)
    Also: Es werden in "Daten.txt" der Name und das Passwort gespeichert. Jetzt möchte ich später den Namen und das Passwort wieder abfragen (Ich weiß, d 🙄 , das Passwort hab ich noch net abgefragt...) und das funktioniert irgendwie net richtig.
    Ich weiß, dass der C++ Code recht unübersichtlich ist, aber könntet ihr mir vielleicht trotzdem helfen. Ich mach ja vielleicht auch was komplett falsch... Ich wäre sehr dankbar für Hilfe!!!

    Müllfanatiker 😞



  • Müllfanatiker schrieb:

    ifstream dat_ein;
        ifstream>>dateiname;    // Hab ich noch nie gesehen. Kann trotzdem korrekt sein
    
        if(name == dateiname)    // Hier prüfst du, ob ich daten.txt heiße. Willst du das wirklich so?
    


  • Also...
    Wenn ich das richtig verstehe speicherst du in der Textdatei "Daten.txt" Namen und Passwort eines oder mehrerer Benutzer!? Wenn das so ist hat Michael E. schon ganz richtig darauf hingewiesen das du mit deiner If Abfrage nicht prüfst ob der Name und das Passwort sih in der Textdatei befinden sondern nur ob der eingegebene Name = "Daten.txt" ist. Das wird er auf keinen Fall sein. Wie du allerdings für den Vergleich auf den Inhalt einer Textdatei zugreifen kannst kann ich leider auch nicht beantworten. Bin ein totaler Newbee.

    Wenn du die Inhalte Name und Passwort allerdings nicht in einer separaten textdatei abspeicherst sondern diese irgendwie in eine Struktur packst, dann wäre das schon eher möglich mit dem eingegeben Namen zu vergleichen.

    MFG

    Mr.blond



  • Ah, ja!!!

    Jetzt kapier ichs langsam. Vielen Dank für die Hilfen, aber weis noch jemand, wie man denn dann aus einer Textdatei etwas herausließt. Schon im Voraus noch mal Danke!

    ML



  • ofstream



  • enno: Nein, ofstream steht ja für output file stream. Du suchst input file stream, also ifstream.



  • Michael E. schrieb:

    enno: Nein, ofstream steht ja für output file stream. Du suchst input file stream, also ifstream.

    ja stimmt ja...war nicht ganz bei der sache, sollte wohl mal wieder ausschlafen sorry 😉


Anmelden zum Antworten