mal wieder Zeichenkette

Gast #25110
Lesenswert?
• ▲
▼
Hallo
Hab mal wieder folgendes Problem:
Über die UART empfangenen Zeichen liegen in einer Zeichenkette "test". 
Jetzt hat der String z.B. 40 Zeichen.
Beispiel String test: 101371AH4NRE8664HAG67.....
Die Zeichen 71 bleiben immer gleich.Davor und danach können es mehr oder 
weniger Zeichen werden!
Wie kann ich die Zeichen ab 71 bis zum Ende des Strings in einem anderen 
String kopieren?
Das alles läuft im 8535 und in C.
Gruß Helge
Gast #25111
Lesenswert?
• ▲
▼
Hallo Helge

>Wie kann ich die Zeichen ab 71 bis zum Ende des Strings in >einem anderen String 
kopieren?

Gar nicht, da du ja nie sicher sein kannst, ob in den davor liegenden 
Zeichen bereits irgendwo ein 71 auftaucht.
Ansonsten könntest du die 71 suchen und ab der gefundenen Adresse + 2 
umkopieren, also ungefähr so:

char test[41];
char umkop[41];
char *pSuch;

pSuch = strstr (test, "71"); // Suche nach 71 im String test
if (pSuch) {  // gefunden
   strcpy (umkop, pSuch+2);
}

aber wie gesagt, wenn in den davor liegenden Zeichen bereits die 
Kombination 71 auftaucht fällst du auf die Nase (Autsch).

Gruss
Christian
Gast #25112
Lesenswert?
• ▲
▼
Vielen Dank Christian
ich werde mal mein Glück versuchen.Die zeichen sollten davor eigentlich 
nicht auftauchen.Notfalls kann ich zum suchen der 71 noch ein drittes 
Zeichen dazu fügen.
Gruß Helge
Gast #25113
Lesenswert?
• ▲
▼
Hab die Sache mal ausprobiert.Leider gibs irgendwie ein Problem mit dem 
"strcpy".
kopiert die Zeile

strcpy (umkop, pSuch+2);
nicht nur ein Zeichen? Bekomme da immer ne Fehlermeldung.
Gruß Helge
Gast #25117
Lesenswert?
• ▲
▼
Hallo Andreas
Ich habs zusammen bekommen. Ich zähle einfach die Steuerzeichen.Hab 
festgestellt das kurz vorm "brauchbarem" Text noch welche auftauchen.
Vielen Dank für die tip´s
Gruß Helge

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