Arduino String durchsuchen

Gast #2892414
Lesenswert?
• ▲
▼
Hallo zusammen.
Ich stehe vor einem Problem welches ich in Java einfach lösen kann, 
leider nicht auf meinem Arduino Board.

Ich habe z.B. eine Zeichenkette:
zeichenkette1 = "halloliebeleute";

jetzt möchte ich gerne wissen ob in zeichenkette1 z.B. der String 
"liebe" vorkommt.


Gibt es dafür eine fertige Funktion die mir true oder false zurückgibt 
bzw. den index an welcher Position der gesuchte String vorkommt?


Viele Dank schon mal,

Makkes.
Gast #2892442
Lesenswert?
• ▲
▼
Makkes schrieb:
> Hallo zusammen.
> Ich stehe vor einem Problem welches ich in Java einfach lösen kann,
> leider nicht auf meinem Arduino Board.
>
> Ich habe z.B. eine Zeichenkette:
> zeichenkette1 = "halloliebeleute";
>
> jetzt möchte ich gerne wissen ob in zeichenkette1 z.B. der String
> "liebe" vorkommt.
>
>
> Gibt es dafür eine fertige Funktion die mir true oder false zurückgibt
> bzw. den index an welcher Position der gesuchte String vorkommt?

strstr(). Die gibt Dir den Pointer auf den Anfang des gesuchten 
Teilstrings zurück oder NULL.

#include <string.h> nicht vergessen.
#2893146
Lesenswert?
• ▲
▼
Makkes schrieb:
> Ich habe z.B. eine Zeichenkette:
> zeichenkette1 = "halloliebeleute";

Mach mal Butter bei die Fische:
Wie lautet die Variablen-Deklaration für Deine "Zeichenkette"?

Die Arduino-Entwicklungsumgebung kennt zwei grundsätzlich verschiedene 
Arten von Zeichenketten:

1. Zeichenketten als Char-Arrays
Beispiel:
  char zeichenkette1[]="halloliebeleute";

2. Zeichenketten als String-Objekte
Beispiel:
  String zeichenkette2="halloliebeleute";


Für Zeichenketten als Char-Arrays stehen Standard-C-Funktionen zur 
Verfügung Dokumentation siehe:
http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html

Für Zeichenketten als String-Objekte stehen erweiterte 
"Komfort"-Funktionen zur Verfügung:
http://www.arduino.cc/en/Reference/StringObject

Du kannst in einem Projekt die eine oder die andere Art von 
Zeichenketten verwenden, Du kannst beide Arten verwenden, und Du kannst 
die eine Art von Zeichenketten in die andere Art umwandeln.

Was Du nicht kannst: Funktionen, die nur für eine Art von Zeichenketten 
zur Verfügung stehen auf die andere Art von Zeichenketten anwenden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.