Datei einlesen

#1300162
Lesenswert?

Gast schrieb:
> hallo
> ich lese eine datei ein, klappt soweit
> hab definiert: char zeile[anz][puffer]. das problem ist wenn ich anz auf
> 100000 setze stürzt das programm ab, weiss einer abhilfe.

Ja. Setz es nicht auf 100000, sondern beschäftige dich damit, wie man 
Speicher zur Laufzeit reserviert und verwaltet.

Kann natürlich auch sein, dass du einen anderen Fehler im nicht 
gezeigten Programm hast.

> ist
> speicherreservierung begrenzt

Aus C Sicht nicht. Aber viele Compiler bzw. deren Runtimes haben ein 
oberes Limit, wie gross eine einzelne Allokierung maximal sein darf.
Gast #1300228
Lesenswert?

ich benutze als Entwicklungsumgebung DEV-C++ mit dem dazugehörigen 
Compiler, ich vermute jetzt einfach mal das das der gcc ist. will das 
aber jetzt erst nich dynamich machen, recht viel aufwand unter C
#1300254
Lesenswert?

Wenn du es nicht besser machen willst, wirst du mit 1000 Zeilen oder
dem Absturz leben müssen.

Erstens: wenn es dir unter C zu mühsam ist (was ich verstehen kann),
gibt es auch noch C++, da ist es viel leichter.

Zweitens gab es hier erst vor ein paar Tagen schon mal das
Thema; das weiß ich zufällig noch, weil ich da ein Beispielprogramm
dafür gemacht habe.

Suchen kann auch mühsam sein, deshalb lieber gleich den Link:
Beitrag "Daten aus Datei einlesen und zeilenweise abespeichern"
Gast #1301728
Lesenswert?

ja der c++ code gefällt mir besser, nur kann ich noch kein c++
ich hätte da ne frage, bei dem c++ code wird das array under ner liste 
gespeichert, nun frage ich mich wie kann ich da z.B auf z.B die 5 zeile 
zugreifen, einfach mit liste(0) oder gibts da was wie liste.element(0) 
oder so ähnlich
#1301772
Lesenswert?

Eine Liste ist eine Liste, und der Zugriff auf ein willkürliches
Element darin anhand der Position ist ineffizient.
Stattdessen macht es Sinn, mit Iteratoren die Liste entlangzulaufen
und die Daten sequentiell zu verarbeiten.

Braucht man einen solchen direkten Zugriff über Index, ist std::list
die falsche Wahl (oder der direkte Zugriif ist die falsche Wahl,
je nachdem). Dann würde man statt std::list eher std::vector nehmen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren