CPP: Wie kann ich eine Datei Zeile für Zeile einlesen?

Waldmensch70  14.06.2022, 10:35

Und was ist jetzt Deine konkrete Frage dazu an uns?

NyanCat96 
Fragesteller
 14.06.2022, 11:51

Wie man 1 zeile eines files in eine variable schreibt

2 Antworten

Dir ist aber schon klar, dass du keine Variablen dynamisch erstellen kannst...?

Also wenn deine Datei 100 Zeilen hat, dann brauchst du auch 100 Variablen und 100 zuweisungsblöcke z.B. so (Beispiel in Python3).

Hast du dann eine Datei mit 101 Zeilen musst du deinen Code wieder anpassen und

string hunderedAndFirstLine = ""; hinzufügen. Das wird auf Dauer sehr unpraktisch, unnd für eine Person die deine Logik hinter dem Code nicht kennt, sehr verwirrend.

firstLine=''
secondLine=''
thirdLine=''
with open('file.txt','r') as f:
  lines = f.readlines() //zeilen in Array einlesen
  for i in range(len(lines)):
    if i==0: firstLine = lines[i]
    elif i==1: secondLine = lines[i]
    elif i==2: thirdLine = lines[i]

Besser wäre es also wohl, nach dem f.readlines() aufzuhören. So kannst du dann nämlich die Zeilen einfach über das Array einzeln adressieren. Also

lines[0] => Zeile 1

lines[1] => Zeile 2

usw...

Hat deine Datei aber z.B. immer nur max. 3 Zeilen, dann kann man natürlich auch deine Ursprüngliche Logik verwenden.

Grundsätzlich geht einlesen Zeile für Zeile in c++ so

https://stackoverflow.com/questions/7868936/read-file-line-by-line-using-ifstream-in-c

und das lines Array aus meinem Python Beispiel kannst du entweder über vector<string> oder list<string> lösen ;)

Woher ich das weiß:Studium / Ausbildung – Informatikstudent
Wie man 1 zeile eines files in eine variable schreibt

Mit der Funktion "getline()".

Siehe https://cplusplus.com/reference/string/string/getline/

Woher ich das weiß:Studium / Ausbildung – Ich bin seit über 30 Jahren in der IT tätig.