Probleme beim Konvertieren von String to const Char *

OP #5142347
Lesenswert?

Hallo,

ich arbeite mit der Arduino IDE auf einem ESP8266, eine Lib braucht von 
mir einen const Char *

ich versuche den Text aus einem EEPROM zu Konvertieren

wenn ich die Ausgabe mach

Serial.println( eeVal ); //wert_im_ee (das ganze ohne Zeichen davor oder 
dahinter)

da ich mit dem String nicht viel anfangen kann muss ich das in einen 
const Char Konvertieren...

Serial.println( to_Cchr( eeVal ) );

die Methode welche Konvertiert sieht so aus:
1
char* to_Cchr( String str ) {
2
    char __str[sizeof(str)-1];
3
    str.toCharArray(__str, sizeof(__str));
4
    return __str;
5
}

das Ergebnis (etwa so):
>wert_im_ee⸮⸮⸮?⸮b @X⸮⸮?t⸮⸮?⸮⸮⸮?% @⸮⸮?

was mach ich Falsch...
> auch wenn der Wert nicht aus dem EEPROM kommt sondern direkt aus einer String 
variable bekomme ich diese "Fehler"...

vielen Dank für jeden Tipp
Gast #5142365
Lesenswert?

Baeri B. schrieb:
> was mach ich Falsch...

ist die Methode von dir?

Sie kann nicht funktionieren, weil sie ein lokales objekt zurückliefert.

Ich kenne auch den String-Datentype von Arduino nicht. Aber 
normalerweise hat eine String klasse auch eine Methode c_str();
1
Serial.println( eeVal.c_str() );

Aber ein String ausgehen sollte doch Standard bei Arduino sein, ich 
würde sogar erwarten das println damit umgehen kann.
Gast #5142609
Lesenswert?

@Peter II

perfekt vielen Dank...
ja, da hab ich was zusammengeschustert ^^

=> aber, mir geht es ja auch nicht um ein Print oder eine ausgabe in der 
Konsole, mit dem const char ist natürlich eine weiterverarbeitung 
gedacht...
in diesem Fall möchte ich eine WLAN-Verbindung zum Router aufbauen :)

now it works :)

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