Anzahl Structs beschränkt?

Lord_Istari

Grünschnabel
Habe folgendes Problem:

Ich lese eine Datei ein, in der verschiedene Datensätze stecken.
Diese Datensätze speicher ich in Structs, wobei immer in einem Struct auf den nächsten verwiesen wird (verkettete Liste).

Nun bricht der aber immer genau bei dem 485 neuen Struct ab. Gibt es da irgendeine Beschränkung?

Der Struct sieht übrigens so aus:

struct datensatz
{
struct datensatz *naechster;
char inahlt[320];
char ID[4];
char laufendeNummer[4];
} ;


Hat irgendwer eine Idee?
 
ein gewisser Teil des Codes sieht so aus. Der Teil, wo ich alles mit Inhalt fülle, umfasst mehrere hundert Zeilen und diese möchte ich euch hier nur sehr ungern antun :-)

Das es am Speicher liegt kann ich mir auch nicht vorstellen, da sollte nen Gig doch wohl genügen. Habe aber grade eben auch in nem Test festgestellt, dass das mal bis 529 Structs ging.

struct datensatz *lade_Datensaetze(ifstream &datei)
{
struct datensatz *wurzel=NULL, *jetzt, *neu;

while(!datei.eof())
{
neu=put_Datensatz(datei);
if (neu!=NULL)
{
if (wurzel==NULL) wurzel=neu;
else jetzt->naechster=neu;
jetzt=neu;

}
}

return wurzel;

}
 
Da lässt du ja lleider die interessantesten Stellen weg, nämlich die, wo die structs erzeugt werden.
Übrigens, nimm lieber Code-Tags statt Italic.
 

Anhänge

  • codetags.gif
    codetags.gif
    7,1 KB · Aufrufe: 17
Zuletzt bearbeitet:
Ich glaub auch nicht dass es am Speicher liegt (höchstens du machst ein Fehler bei malloc), wenn ich mir die Structs so ansehe.
Bitte poste doch mal die Stelle wo du new oder malloc machst.

Das die Datei korrupt ist, ist ausgeschlossen ?
Was macht
Code:
put_Datensatz(datei);
?

Wie wäre es wenn du im Debugger mal ein Breakpoint auf die Stelle mit return stellst und dir die letzte Struktur ansiehst ? Du kommst ja eigentlich nur raus wenn du das Dateiende erreichst.
Zäjle doch mal wieviele Strukturen du eingelesen hast in dem du ein Zähler in der Schleife verwendest, und kannst ja mal schauen ob die Zahl mit deiner übereinstimmt. ... ansonsten Code Posten
 
Sorry, dass ich mich erst jetzt melde, aber war zuviel los in den letzten Tagen.
Auch muss ich mich für die Frage quasi entschuldigen, da es einfach eigene Blödheit war. Habe nen Array für Characters zu klein gehabt...

Also, noch mal danke an alle

mfg
Istari
 
Zurück