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

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.