Andreas Pflug: C-String teilen

Beitrag lesen

Hallo Christoph,

Meine Lösung arbeitet im übrigen genauso wie deine, nur, dass ich auf Rückgabewerte der malloc's (bei dir strdup) prüfe und im Gegensatz zu dir den String nur einmalig durchlaufe: Du tust dies einmal zum Ersetzen der Trennzeichen, und ein weiteres mal, um die Pointer in result abzulegen. »»
Christoph

das liegt daran, dass man bei Deiner
Funktion einen Parameter max_tokens
angeben muss und überzählige Tokens dann
einfach ignoriert werden, während meine Routine
theoretisch beliebig lange Eingangsstrings
zerlegt (mal von Speicherbegrenzungen
und den fehlenden Sicherheitsabfragen abgesehen...).
Der doppelte Durchlauf ergibt sich daraus, dass im
ersten Durchlauf die Trennzeichen gezählt werden, damit
result allozieren zu können.

Viele Grüße und noch ein schönes
verlängertes Wochenende

Andreas