n0Br4iN3r
08.11.2005, 18:58
Hallo,
ich hab da mal eine Frage: Würde euch ein möglichst einfacher und schlanker Code für das parsen und zerlegen eines Strings den ich über USART empfange einfallen? In der libc gäbs sogar ein strsep bzw. ein strtok_r, aus diesen beiden werde ich aber nicht schlau. Dann hab ich mir eine eigene Funktion geschrieben, die aber relativ umständlich ist und am AVR viel Speicher verbraucht.
Darum meine Frage an euch:
Ich sende per USART einen String, z.B. set time 12:00:00 oder get time oder help. Dann möchte ich den String in Teilstrings zerlegen, die durch Leerzeichen getrennt sind, die Anzahl der Argumente variiert jedoch. z.B. bei set time 12:00:00 hätte ich dann gerne 3 strings zu set, time und 12:00:00 (die Zeit verarbeite ich dann mit sscanf weiter). Oder beim Kommando help sollte nur in einem String eben help drin stehen. Die Abfrage kann man danach einfach mit strcmp machen.
Ich hoffe jemand von euch weiß eine vernünftige Methode, um den String zu zerlegen.
Danke und mfg n0Br4iN3r
ich hab da mal eine Frage: Würde euch ein möglichst einfacher und schlanker Code für das parsen und zerlegen eines Strings den ich über USART empfange einfallen? In der libc gäbs sogar ein strsep bzw. ein strtok_r, aus diesen beiden werde ich aber nicht schlau. Dann hab ich mir eine eigene Funktion geschrieben, die aber relativ umständlich ist und am AVR viel Speicher verbraucht.
Darum meine Frage an euch:
Ich sende per USART einen String, z.B. set time 12:00:00 oder get time oder help. Dann möchte ich den String in Teilstrings zerlegen, die durch Leerzeichen getrennt sind, die Anzahl der Argumente variiert jedoch. z.B. bei set time 12:00:00 hätte ich dann gerne 3 strings zu set, time und 12:00:00 (die Zeit verarbeite ich dann mit sscanf weiter). Oder beim Kommando help sollte nur in einem String eben help drin stehen. Die Abfrage kann man danach einfach mit strcmp machen.
Ich hoffe jemand von euch weiß eine vernünftige Methode, um den String zu zerlegen.
Danke und mfg n0Br4iN3r