Go Down

Topic: Problem mit client.find() und Variable (Read 296 times) previous topic - next topic

karl_napp

Hallo in die Runde,

mein Problem ist folgendes:

in meinem Sketch fuktioniert
  if (client.find("Artist:")) {...

aber nicht
  String ausdruck = "Artist:";
  if (client.find(ausdruck)) {...

Weiß jemand, was ich da falsch mache?

Dank und Grüße,
karl_napp

Tommy56

Wenn Du uns einen Link zur Lib gibst, aus der client stammt, könnten wir mal rein schauen.
Evtl. ist find() nicht für String definiert, sondern nur für char-Arrays.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)


karl_napp

Hallo Tommy,

danke für die Rückmeldung. Die Lib ist ...\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi.

Wenn Deine Vermutung stimmt, müsste ich den String erst konvertieren.
toCharArray ? Oder gibt es Alternativen?

Gruß, karl_napp

Tommy56

In dem Ordner stehen eine Menge Libs. Da musst Du schon etwas genauer werden.
Du kannst mal ausdruck.c_str() probieren.

Gruß Tommy
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

Serenifly

#5
Mar 26, 2020, 08:23 pm Last Edit: Mar 26, 2020, 08:24 pm by Serenifly
Das steckt nicht in der WiFi Klasse, sondern in Stream. Die Doku sagt auch klar dass es nur mit char[] geht.

Also am besten nichts konvertieren sondern gleich richtig machen:
Code: [Select]

char ausdruck[] = "Artist:";

Tommy56

#6
Mar 26, 2020, 08:31 pm Last Edit: Mar 26, 2020, 08:32 pm by Tommy56
Das wäre auch mein Weg, aber Du weißt ja, wie die Leute an String kleben.

Gruß Tommy

Edit: Zumal die aktuellen Versionen der Webserver bereits sehr gut die Parameter aufbereiten.
"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)

karl_napp

Danke, Eure Antworten sollten mir weiter helfen. Werde es morgen gleich mal ausprobieren.

Viele Grüße
karl_napp

Go Up