einzele worte aus einer Zeile lesen



  • Ich bin Anfänger und stehe in der REgeln mit Rechnern auf Kriegsfuss. Bitte kein Fachchinesisch, am besten stellt euch vor Ihr müsstes es euren Großeltern erklären :).
    Ich habe eine text datei in der steht in der ersten Zeile:

    Ich esse Fisch und Vögel auch so gern
    in der zweiten

    Ich freue mich über jeden Besuch

    frage wie kann ich einzelne Worte suchen und aus geben? was steht in zeile 2 an stelle 2?

    Die Sätze auslesen war jetzt kein Problem

    #include<fstream>
    #include<iostream>
    #include<string>
    using namespace std;
    
    int main()
    {
        std::ifstream file;
        std::string line;
        file.open("C:/Users/egal/Desktop/testec.txt");
        std::ofstream schreiben;
        schreiben.open("testecpp.txt");
    
        if (file.is_open()){
            while(getline(file,line)){
                cout << line << endl;
    
                schreiben << line <<endl;
    
            }
            file.close();
        }else {
            std::cerr << "fehler beim öffnen der Datei!";
        }
        return 0;
    }
    


  • Du musst die Zeile jeweils in verschiedene Worte einteilen, sonst kannst du das Wort nicht vernünftig suchen.

    Hierfür nimmst du dann einen std::vector<std::string> , das die Worte enthält.

    Um die Zeile jeweils in seine Worte zu splitten gibt es wiederum viele Möglichkeiten. Entweder du nimmst die std::string -Funktionen, wie find() und substr() , oder du benutzt einen weiteren Stream ( std::stringstream ) und rufst std::getline() mit einem Delimiter oder verwendest direkt den Extraction Operator (>>). Oder du nimmst halt irgendeinen vorgefertigten Tokenizer-Code beispielsweise von Boost oder sonst irgendwas, was du finden kannst. Am einfachsten wär halt noch die Stream-Lösung.



  • Hier werden verschiedene Möglichkeiten gezeigt. Ob's für Omas verständlich ist?



  • Danke so hab ich mir das vorgestellt. und danke für die hilfe, für mich ist programmierung neuland und spreche noch kein nerdish :D!



  • OscarKilo84 schrieb:

    für mich ist programmierung neuland

    das wird es auch immer bleiben...



  • Donald_Pfund schrieb:

    OscarKilo84 schrieb:

    für mich ist programmierung neuland

    das wird es auch immer bleiben...

    warum kommen in foren immer leute, die nichts zu tun haben, einfach nur kommentare abzugeben? ist doch egal wie wer was kann oder lernt? Alleine sich für sowas zeit zu nehmen ist iwie traurig. Erinnert mich an die "boah hat die geile titten" kommentare auf youtube.
    kuck mal der kriegst auch didaktisch super hin , sieht zu lernt!
    https://www.youtube.com/watch?v=rnGoCWNtNR0&t=230s


Log in to reply