C++ Frage, Textdateien Anzahl der Zeilen ermitteln



  • Hallo zusammen,
    und zwar bin ich grad dabei mir Textdateien mit fstream auslesen zu lassen und hab ein kleines Programm geschrieben um Txts zeilenweise einlesen zu können. Das sieht dann etwa so aus:

    //includes, int main und der ganze andere Rest
    void blacklist()
    {
      char line[100];
      for(int i = 0; i<10; i++)               
        {
            blacklistfile.getline(&line[i], sizeof(line));
            cout<<&line[i]<<endl;
            logfile<<&line[i]<<endl;
        }
    }
    

    Das ganze liest mir auch alles schön aus so wie ichs haben will, allerdings
    stört micht die 10 in der for-Schleife, ich hätte da gerne eine Variable die so groß ist wie die Anzahl der Zeilen, der Txt. Allerdings weiß ich nicht wie ich das anstellen soll (und jaaaaa ich hab Google benutzt). Kann mir vllt jemand sagen wie das geht? Würde mich über jede Antwort freuen 🙂
    Viele Grüße
    Cyax


  • Mod

    Hier:

    std::ifstream stream("dateiname.txt");
    std::vector<std::string> lines;
    std::string tmp;
    while( std::getline(stream, tmp) )
        lines.push_back( std::move(tmp) );
    


  • Hi,
    danke erstmal für deine Antwort 🙂
    Aber ich bekomme den Fehler

    'move' was not declared in this scope
    

    Wie lautet das passende include?
    Hab folgendes drin:

    #include <iostream>
    #include <windows.h>
    #include <sstream>
    #include <fstream>
    #include <time.h>
    #include <string>
    #include <Shlobj.h>
    #include <vector>
    #include <math.h>
    #include <algorithm>
    #include <utility>
    #include "shlobj.h"
    


  • Hat sich erledigt, passt.
    Danke für die Hilfe 🙂


Anmelden zum Antworten