Zeile in Datei ermitteln



  • Hallo,

    ich möchtein durch ein Programm in einer beliebigen *.cpp-Datei ein bestimmtes Zeichen suchen und danach die Zeile angeben lassen. Wie kann ich die Zeile in einer Datei ermitteln?

    Danke

    Pille



  • Wenn die Zeilen eine unterschiedliche Länge haben, geht das afaik nicht. Dann müsstest du afaik jede Zeile z.B. in einen std::vectorstd::string einlesen und dann mit find("zeichen") in jedem Vektor-Element dein zu suchendes Zeichen suchen.

    Caipi



  • Sind die Dateiendungen nicht durch ein <cr> o.ä. markiert das ich eigentlich nur ne Zählschleife brauch?
    Die Semikolons zählen geht eben nicht, wenn nur Kommentar steht wärs das. In Bloodshed oder Textpad wird doch auch unten immer die Zeilenzahl angezeigt, dann müsste das doch auch irgendwie gehn



  • nimm PERL.org



  • Pille1976 schrieb:

    Sind die Dateiendungen nicht durch ein <cr> o.ä. markiert

    Das weiß ich nicht, habe davon noch nichts gehört (was aber nichts heißen muss)

    Pille1976 schrieb:

    In Bloodshed oder Textpad wird doch auch unten immer die Zeilenzahl angezeigt, dann müsste das doch auch irgendwie gehn

    Eine Schleife kannst du schon benutzen:
    z.B.

    ...
    std::ifstream in("datei.txt");
    unsigned int nrOflines = 0;
    if(in.is_open())
    {
           std::string str;
           while(getline(in, str))
                 ++nrOflines;
    }
    
    std::cout << "\n Zeilen in der Datei datei.txt: " << nrOflines << std::endl;
    ...
    

    Caipi



  • Eigentlich wollte ich keine neue Prog.-Sprache dafür erlernen.
    Ich bin sicher das es irgendwie andersn auch gehn muss.



  • Pille976 schrieb:

    ich möchtein durch ein Programm in einer beliebigen *.cpp-Datei ein bestimmtes Zeichen suchen und danach die Zeile angeben lassen. Wie kann ich die Zeile in einer Datei ermitteln?

    Wenn dein Programm nichts weiter können soll würde ich einfach mal google anschmeißen. (z.B. grep)



  • sorry aber sobald du perl ( z.b. for WIN )
    installiert hast, kannste eigentlich gleich loslegen.

    Da musste nicht "eine neue programmiersprache" erlernen.

    Sowas einfaches wie ein zeichen finden und ausgeben, kannst du dir in 30min- max 2 std selbst bei bringen. PERL ist wirklich super einfach! schau dir einfach die BSP an und fertig. Du "lernst" PERL nicht nur für das, sondern kannst es noch 1000mal verwenden, wetten? Bist du das in c++ kapiert wie man dateien öffnet ect hast du es in Perl schon 5 mal geschafft. wenn du es eh schon in c++ super checkst, kannste ja gleich c++ nehmen und musst hier nicht posten.



  • Sorry letztes Kommentar galt newkid


Anmelden zum Antworten