Text parsen und auf einzelne Strings verteilen

Gast #723553
Lesenswert?

Hallo,

ich möchte gerne ein Feld von char's parsen. Die einzelnen Wörter sind 
durch ',' getrennt. Die Länge der Wörter ist  nicht gleich und ich 
möchte nicht zuviel Speicherplatz verbrauchen. Für jedes neue Wort soll 
ein neuer String angelegt werden. Wie macht man soetwas am einfachsten?
#723641
Lesenswert?

Michael wrote:
> Hallo,
>
> ich möchte gerne ein Feld von char's parsen. Die einzelnen Wörter sind
> durch ',' getrennt. Die Länge der Wörter ist  nicht gleich und ich
> möchte nicht zuviel Speicherplatz verbrauchen. Für jedes neue Wort soll
> ein neuer String angelegt werden. Wie macht man soetwas am einfachsten

strtok ist eine Möglichkeit.

Eine andere wäre es, den Quellstring einfach Zeichen für
Zeichen durchzugehen. Mann merkt sich den Anfang des Strings
und wenn man bei Durchgehen einen ',' vorfindet, wird der Teilstring
vom Anfang des Textes bis zum ',' in einen neuen String
umkopiert. Danach hat man wieder einen neuen Anfang und sucht
weiter bis zum nächsten ',' etc. etc.

Mal es dir am Papier auf. Geh es ein paar mal durch, dann hast
du schnell den Dreh heraus, was alles zu geschehen hat.
Gast #723930
Lesenswert?

Hallo,

wenn das Feld geaendert werden darf, kann man auch die Kommata durch 
Nullen ersetzen und entsprechende Stringpointer auf das naechste Zeichen 
platzieren. Das wuerde keinen zusaetzlichen Speicher fuer Strings 
benoetigen. Allerdings waere fuer jeden geparsten String ein Pointer 
noetig.

Gruss,
Ludger
Gast #723961
Lesenswert?

> wenn das Feld geaendert werden darf, kann man auch die Kommata durch
> Nullen ersetzen und entsprechende Stringpointer auf das naechste
> Zeichen platzieren.

Das ist genau das, was strtok macht.

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