Arduino IDE String kopieren Problem

#5626183
Lesenswert?

Hallo,

ich habe ein kleines Problem, das für mich leider ziemlich unlogisch 
ist.

Ich habe in der Arduino IDE in meinem Programmcode einen String, welchen 
ich auf 2 weitere Strings kopieren möchte, da ich mit diesen dann 
unterschiedlich weiterarbeiten möchte.
Leider überträgt er immer nur auf den ersten String:

Beispiel zum Verständnis:

String Var1 = "Test";
String Var2;
String Var3;

Var2 = Var1;
Var3 = Var1;

Dabei kommt heraus:
Var2 = "Test";
Var3 = "";

Wieso überträgt er bei diesem einfachen Beispiel Var1 nicht auf Var3?

Danke für eure Antworten.
#5626191
Lesenswert?

Ok, wenn ich nur dieses Beispiel in der Arduino IDE erstelle, dann 
funktioniert alles.

Im Anhang findet ihr einen Screenshot von diesem Codeausschnitt.

Dabei lese ich eine SMS von meinem GSM Modul aus.

str_Antwort ist die komplette Nachricht.

In diesem Fall kommt heraus:

str_Wartezeit = str_Antwort
str_Tel1 = ""

Wenn ich die beiden vertausche, dann ist das Ergebnis auch vertauscht.
Angehängte Dateien:
#5626232
Lesenswert?

Hallo,

Daniel E. schrieb:
> Forist schrieb:
>> Und wie soll das jetzt jemand bei sich compilieren?
>
> Kompilieren funktioniert ohne Probleme.

bei mir nicht, die IDE will Dein Bild einfach nicht laden...
Ich bezweifle auch, das sich das bei Dir so compilieren läßt.
Ansonsten: ich kenne kein Problem mit Strings, außer vielleicht 
Speichermangel auf kleinen AVR. Ich beutze die Stringklasse gern und 
häufig auf den ESP und bisher hat die immer gemacht, was sie sollte.

Gruß aus Berlin
Michael
Gast #5626286
Lesenswert?

Du kopierst Pointer, keine Strings.

In C sieht das in etwa so aus:

Die Variablen - die den String aufnehmen - sind als char-Arrays 
angelegt.


[/C]
#include <string.h>

...
  char var1[16] = "Test";
  char var2[16];
  char var3[16];

  strcpy(var2, var1);
  strcpy(var3, var1);
...

[/C]

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