da string a const char

Ho un problema, devo convertire una stringa in const char* da ricerche fatte ho trovato str.c_str() ma se uso questo metodo mi risponde

'class String' has no member named 'c_str'

come posso fare a convertire questo string?

A char* non so.. Un char[] normale ti farebbe lo stesso?

String stringa;
char mia_stringa[lunghezza];
stringa.toCharArray(mia_stringa, lunghezza);

char* e char[] son la stessa cosa, le [] se le sono inventatate per rendere più facili da usare gli array.

la conversione di una string in un char* in c++ presuppone l'allocazione dinamica della memoria, che l'avr-c non supporta nativamente, a meno di esplicito riferimento a malloc().

Infatti nonostante tu abbia un char*, questo punta a ad char[]... di conseguenza, ti consiglierei di usare char[]

ciao,

seppe

exurgit:
Ho un problema, devo convertire una stringa in const char*

Su una MCU non puoi farlo, ci sono delle limitazione nell'uso della memoria per via dell'architettura interna, puoi solo creare all'interno del programma una stringa const con relativa assegnazione immediata, si usano per memorizzare valori e messaggi che non vanno mai alterati se non previa ricompilazione del programma.
Le stringhe, ma anche i valori, di tipo const vengono memorizzati nella memoria flash sull'ATmega, il loro uso permette di risparmiare memoria ram, sulle mcu è una risorsa limitata, però non è una cosa semplice da mettere in pratica in ambiente wiring.
In tutti i casi dal punto di vista uso finale non cambia nulla tra una string dichiarata come char e una dichiarata come const char quindi non vedo per quale motivo la devi convertire.

@astrobeed
a tal riguardo sò dell'esistenza della libreria "flash" di arduiniana.org, che sembra faciliti l'uso di PROGMEM (è qusto che intendevi giusto?? lettura veloce... XD), ma non l'ho provata, quindi non so altro...

Guarda per usare virtualwire come libreria intima l'uso di una variabile tipo const char con puntatore quindi non so come usare un valore che leggo sullo stato tipo di un led e Poi inviarlo come dato tramite dato rf oltre il fatto di inviare dati tipo const char

ho dato un'occhiata al codice, che puoi trovare quì(anche un pdf guida)
se guadi, lui usa const non perchè sia necessario ma perchè gli è comodo. in oltre si note che anche lui non usa char[] ma char*.
ha dimenticavo: esiste una differenza tra char[] e char*: nel primo l'inidizzio è costante!
quindi in realtà
chat[] == const char*