Auslesen aus einer Datei und Füllen einer Matrix (mit vector<vector<int> > erzeugt)
-
Hallo!
Ich habe folgende Beispieldatei:
1 2 4 6 7 8 9 12 34 334
2 3 4 5 6 7 8
3 4 565 6 56 67 88 33 45
4 33 4 5 56 6 7 11 78 8 8Diese möchte ich auslesen und Matrix speichern. Habe dazu eine Matrix aufgebaut, die unterschiedliche Zeilenlängen hat.
1. wie kann ich das Zeilende abfragen um die Zeile zu wechseln
2. soll ich für zeile und spalte iteratoren oder einer Zählvariablen verwenden?
3. wie fage ich Fileende ab?ifstream myStream("Eingabe.txt"); int x; // von welchem Typ soll x sein? wenn string muss ich später umkonvertieren // da ich int benötige. vector<vector<int> > matrix(4); //kenne nur die Spaltengröße Zeilengröße //wird erst feststehen wenn Zeilenende erreicht ist. int zeile,spalte; //müsste diese dann in einer for-Schleife verwenden. while(getline(myStream, x) ) { matrix[zeile][spalte]=x; // Hmmmm.. komme hier nicht mehr weiter }
Gruss
-
Bin soweit gekommen aber es funktioniert noch nicht.
int main() { ifstream myStream("Eingabe.txt"); vector<vector<int> > matrix(4); int tmp; for(int zeile=1;zeile<4;++zeile) { myStream>>tmp; //wird überlesen int spalte=1; while(!eol()) //brauche hier eine gescheite // Abbruchbedingung eol() nimmt der //compiler nicht an :( { myStream>>tmp; matrix[zeile][spalte]=tmp; ++spalte; } } return 0; }
-
Die Funktion eol() weis nicht von welcher datei du sprichst!
mfg
-
while(!myStream.eol()) //sowas in der Art?