Zitat von
JasonDX:
Eine Möglichkeit wäre, das erste Element des Arrays im Falle eines Fehlers auf NULL zu setzen. Damit könntest du Fehler in der Funktion entsprechend erkennen.
Aber warum allokierst du immer 2 Byte, obwohl du nur eins brauchst?
Code:
zString =(char *) malloc(2*sizeof (char));
zString[0] = '\0';
zString = (char*)realloc(zString,strlen(zString)+ 2* sizeof (char));
strncat(zString,zeichen,1);
Es ist so, dass ich diese Methode nicht geschrieben habe, sondern sie wurde von unserem Professor bereit gestellt, soll heißen, er hat sie vermutlich selbst geschrieben.
Zitat von
Der_Unwissende:
Noch besser (und auch sehr einfach) ist dann noch die Möglichkeit auf eine globale Variable zurückzugreifen. Die kannst Du einfach verwenden ohne dass Du die Signatur ändern musst und nun ja, der Rest dürfte dann klar sein.
hmm, ja, das wäre eine wesentlich bessere Möglichkeit als die meinige. An so etwas "Einfaches" habe ich gar nicht gedacht,
Ich habe aber gerade nochmal mit dem Prof geredet und er meinte, das, was auf dem Aufgabenblatt stehe, müsse auch so bleiben. Soll heißen, nicht nur die Signaturen darf ich nicht ändern, auch in der Methode an sich darf ich nichts reinschreiben.
Mit Ausnahme des letzten Quellcode Kastens darf ich in meinem ersten Post also nix verändern.
Und das ist nun das Aus für globale Viariablen oder eine Vorbelegung meines Arrays, so wie ich es sehe.
Trotzdem vielen Dank für Eure Ratschläge und Tipps.
Gruß
sm2k