mehrere Stings in einem Loop abfragen

Hallo, ich stehe grad vor einem kleinen Problem wo ich nicht weiter weiss.

Ich habe mehrere Strings:

int geanzahl = 4;
String gename1 = "";
String gecode1_on = "";
String gecode1_off = "";

String gename2 = "";
String gecode2_on = "";
String gecode2_off = "";

String gename3 = "";
String gecode3_on = "";
String gecode3_off = "";

String gename4 = "";
String gecode4_on = "";
String gecode4_off = "";

nun möchte ich gerne in der Schleife es so einfügen das er diese nacheinander abruft. Also so z.B.:

for (int i=1; i <= geanzahl; i++){
     wifi.addDevice(gename+i);
   }

Allerdings schluckt er diese nicht so wie gewünscht. Da er den Stringnamen nicht mit einer Nummer versieht.

Kann mir dabei jemand helfen?

Gruss, David

Informiere Dich mal über Arrays. Die Verwendung von String auf dem Arduino ist ungünstig. Nimm lieber char-Arrays. Hier gibt es Infos dazu.

Gruß Tommy

Kann mir dabei jemand helfen?

Bei dem Problem?
Nöö..

Ich kann dir nur raten: Verwende (zweidimensionale?) char Arrays!

Stimmt, war irgendwie wieder bei Delphi, da kann man es so machen. Habs raus :slight_smile:

char* gename[]={};
viod setup{
gename[1] = "";
gename[2] = "";
gename[3] = "";
}

und der Aufruf

for (int i=1; i <= geanzahl; i++){
     wifi.addDevice(gename[i]);
   }

Gruss, David

2 dimensionale Arrays und die müssen mindestens so groß wie der größte Text sein

Habs raus

Leider völlig daneben :wink:

char* gename [] = {};

Ein Array aus Zeigern mit 0 Elementen. Und Speicherplatz für die Texte selbst fehlt auch noch.

Wenn dir ein zweidimensionales Array zu verwirrend ist:

#define NAMELEN 20
char name0 [NAMELEN];
char name1 [NAMELEN];
char name2 [NAMELEN];
char* gename [3]={name0, name1, name2};