Einfaches C++ Script für Kommentardateien



  • Hallo

    wenn schon so :

    #include <iostream>
    #include <fstream>
    #include <string>
    #include <conio.h>
    #include <windows.h>
    
    void wait()
    {
        FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        getch();
    }
    
    int main()
    {
        std::string Satz;
    
        std::cout << "Dein Kommentar ----> ";
        std::cin  >> Satz;
    
        std::ofstream KommentarDatei("Kommentar.txt", std::ios_base::app);
        if (!KommentarDatei)
        {
            std::cout << "Dein Kommentar konnte nicht erstellt werden.\n";
            exit(1);
        }
    
        KommentarDatei << "Ein neuer Kommentar\n" << Satz << std::endl;
    
        std::cout << "Der Kommentar wurde erstellt!\n";
    
        wait();
    
        return 0;
    }
    

    Mach ne Pause, und dann lies dir erstmal ein Tutorial durch.

    bis bald
    akari



  • Danke! 😃

    Ahhh Tutorials o.o ne ne morgen geht's weiter ^^

    Noch eins: Warum kopiert mein Script nur ein einziges Wort in die Kommentar.txt ? 😑

    Man kann z.B. Hallo du da eingeben und es wird nur Hallo gespeichert.



  • Darthshoot. schrieb:

    Noch eins: Warum kopiert mein Script nur ein einziges Wort in die Kommentar.txt ? 😑

    Man kann z.B. Hallo du da eingeben und es wird nur Hallo gespeichert.

    Weil der >> Operator nur bis zu dem ersten Leerzeichen liest. Du kannst stattdessen std::getline verwenden.

    Darthshoot. schrieb:

    Ahhh Tutorials o.o ne ne morgen geht's weiter ^^

    Mal ehrlich, was bringt es dir, wenn du hier alles gesagt bekommst, wie du es machen musst?
    Es ist doch viel sinnvoller, dass du dir das selbst beibringst und selbst denkst und es dann auch verstehst, und nicht einfach nur hier abschreibst...
    Also, wie akari schon sagte, überstürz es doch nicht gleich.
    Bis man C++ halbwegs beherrscht, können mehrere Monate vergehen, das schafft man nicht in ein paar Tagen.



  • #include <iostream>
    #include <fstream>
    #include <string>
    #include <conio.h>
    #include <windows.h>
    
    void wait()
    {
        FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
        getch();
    }
    
    int main()
    {
    	std::string Satz;
    
    	std::cout << "Dein Kommentar ----> ";
        std::getline( cin, Satz );
    
        std::ofstream KommentarDatei("Kommentar.txt", std::ios_base::app);
        if (!KommentarDatei)
        {
            std::cout << "Dein Kommentar konnte nicht erstellt werden.\n";
            exit(1);
        }
    
        KommentarDatei << "Ein neuer Kommentar:\n" << Satz << std::endl;
    
        std::cout << "Der Kommentar wurde erstellt!\n";
    
        wait();
    
        return 0;
    }
    

    Da kommt ein Fehler und zwar das CIN nicht definiert sei.
    Was nun?

    P.S. Keine Bange ich lern ja auch aus den Lösungen die ihr mir schreibt.
    Ich kopier das net einfach nur dumm rein sondern ich schaus mir an und überleg warum das Script das macht, was es macht.



  • Hallo

    std::cin
    

    bis bald
    akari



  • akari schrieb:

    Hallo

    std::cin
    

    bis bald
    akari

    Ja, aber wenn ich das mache, wird wieder nur das erste Wort kopiert und der rest einfach weggelassen.



  • Hallo

    bei mir läuft das Programm mit der letzten Änderung korrekt, die Datei wird erweitert.
    Eventuell liegt das an dem Fehlerhaften COmpiler den du hast. Siehe die Hinweise zu Code::Blocks.

    bis bald
    akari



  • @Darthshoot2
    es muss

    std::getline([b]std::[/b]cin, Satz);
    

    heißen.



  • Jo danke jetzt klappts! 😃
    Ich freu mich schon auf morgen ^^ da gehts los mit weiterlernen!


Anmelden zum Antworten