Char* in Char mit bestimmter Länge speichern

Hallo!
Ich habe hier ein Char* Wert den ich in ein Char mit bestimmter Länge speichern möchte.
Da bekomme ich leider eine Fehlermeldung:

error: incompatible types in assignment of 'char*' to 'char [33]'
wert1= ptr;
^
error: incompatible types in assignment of 'char*' to 'char [65]'
wert2= ptr;
^
exit status 1
incompatible types in assignment of 'char*' to 'char [33]'

Hier der Code:

  char wert1[33] = "XXX";
  char wert2[65]="";


        String text = line.substring(204);
        char copy[500];
        text.toCharArray(copy, 500);
            
        char *ptr;
        ptr = strtok(copy, ";");
       z=0;
      while(ptr != NULL) {
        z++;
        Serial.println(z);
        if (z==2) {
        wert1= ptr;
        }
        if (z==3) {
        wert2= ptr;
        }
       
        ptr = strtok(NULL, ";");
      }

Hoffe hier kann mir jemand weiterhelfen, wie ich das aktuelle ptr jeweils speichern kann.

Vielen Dank

von line
nach text
nach copy
und dann da draus in einer while mit zwei if auf wert1 und wert2

meinst wirklich, dass das eine gute Lösung wird?

Wie ist dein line wirklich aufgebaut und was willst du da raus ziehen?

kopier das mal rein und markiere farbig was in wert1 und wert2 kommen soll.

Danke für die Antwort und Lösungsvorschlag.
Die line sieht wie folgt aus:
;inhalt1fürwert1;inhalt2fürwert2;

in wert1 soll dann inhalt1fürwert1
in wert2 soll dann inhalt2fürwert2

Hoffe es kann mir jemand eine Lösung vorschlagen.

Vielen Dank

nein, zeige echt was du da hast

sollen ja offenbar mehr als 204 Zeichen und du bereitest dich auf 500 Zeichen vor.

ptr ist ein Zeiger auf ein char, wert1 und wert2 sind arrays von char. Du möchtest nicht den Zeiger ( ptr ) in dem Array speichern ( das geht nämlich nicht - deshalb die Fehlermeldung ), sondern Du möchtst das, worauf ptr zeigt in das array kopieren. Dafür gibt's die Funktion strcpy .

haiflosse:

  char wert1[33] = "XXX";

char wert2[65]="";

Kommt mir irgendwie sehr bekannt vor!

Was hast du mit den Zugangsdaten vor?

Im Esp sind sie schon zweimal vorhanden, wozu kopieren?

Gruß Fips

Danke für die Antwort.
strcpy hat funktioniert.

@Derfips: Dachte ich habe es schon beantwortet, dass ich die Daten auch in eine mysql Datenbank speichere. Somit habe ich aufgrund deiner Idee es nun auch so geändert, dass man die Daten auch in der Datenbank ändern sofern der esp noch online ist.

Danke

haiflosse:
...dass ich die Daten auch in eine mysql Datenbank speichere. Somit habe ich aufgrund deiner Idee es nun auch so geändert, dass man die Daten auch in der Datenbank ändern sofern der esp noch online ist.

Zum ändern ist es nicht notwendig die vorhandenen Zugangsdaten in einer DB zu halten.

"strcpy" wurde schon erwähnt!

line.substring(204);
char copy[500];

char copy[server.arg("ausderDB").length()];

Gruß Fips