004
28.10.2004, 15:15 Uhr
ao
(Operator)
|
Das ist ein ziemliches Gehampel mit char, char* und char**, da kommt man leicht bei ins Schwimmen.
Kannst du nicht erst mal ein char szLine [1024] machen und da ne ganze Zeile reinlesen, mit fgets? Damit erst mal dein Algorithmus ans Rennen kommt?
Für diese Operationen am offenen Herzen (mit Doppelpointer und realloc) wärs gut, wenn das drumherum halbwegs erprobt wäre.
Machst du das eigentlich im Debugger, oder startest du dein Programm und wartest ab, was passiert?
Übrigens scheinen da noch einige Missverständnisse vorzuliegen:
sizeof (char) ist immer 1, das malloc-Statement holt also genau 1 Byte Speicher, willst du das wirklich?
sizeof (removef [0]) bestimmt nicht etwa die Länge eines Strings, dafür gibts strlen(), sondern liefert nur die Größe von removef[0] im Speicher. removef[0] ist ein char*, und die Größe davon ist auf den meisten Systemen 4.
Und das hier: sizeof (removef)/sizeof (removef [0]) macht vermutlich auch nicht das, was du erwartest, das ist nämlich sizeof (char**) / sizeof (char*), und das ist immer 1.
ao |