Riprendendo un precedente articolo su Arduino e le strighe oggi ti racconto di un test che ho eseguito nei giorni scorsi e che mi ha risolto molti problemi proprio nelle conversioni da char a string e viceversa.
Problema:
Vorresti poter applicare uno dei metodi dell’oggetto String ad una variabile di tipo char, ad esempio estrarre solo una parte della stringa (substring).
I metodi dell’oggetto String puoi applicarli solo a variabili di questo tipo, per cui se hai una variabile di tipo char o char* devi convertire in string il suo contenuto per potervi applicare uno dei metodi.
Soluzione:
Guarda lo script sotto, in cui ho definito delle variabilidi tipo char e string per poter eseguire le conversioni necessarie:
char *mystr; String miastringa; void setup() { Serial.begin(9600); mystr = "Testo di prova"; } void loop() { miastringa = String(mystr); Serial.println(miastringa.substring(0,5)); }
analizziamo il codice linea per linea:
linea 01: definisci una variabile di tipo char* che simula la tua variabile da convertire;
linea 02: definisci una variabile di tipo String, che accoglierà la stringa convertita e su sui applicherai il metodo substring;
linea 04: crea la funzione setup(), di tipo void;
linea 05: inizializza la comunicazione seriale, la utilizzerà per visualizzare il risultato del metodo substring;
linea 06: assegno un valore alla variabile mystr, questa variabile nel tuo sketch è quella a tua disposizione durante il loop(), in questo esempio la definisci alla linea 01 e la valorizzi nella setup() solo a titolo di esempio;
linea 10: crea la funzione loop(), eseguita cilicamente durante tutto il funzionamento dello sketch;
linea 12: esegue la conversione vera e propria, sfruttando il costruttore del’oggetto String assegno alla variabile miastringa il valore della variabile mystr;
linea 13: scrive sul monitor seriale dell’IDE Arduino il risultato del metodo substring, in questo esempio il risultato sarà la parola Testo.
Ringrazio Luca per avermi illuminato sulla possibilità di convertire i tipi char in String sfruttando il costruttore dell’oggetto String.
Buon lavoro
Prima di inserire un commento, per favore, leggi il regolamento
14 pings
Skip to comment form