Salve,
spiego nel dettaglio
avendo una stringa chiamata MESSAGGIO, la quale contiene
"GET /?1,destra,carlo http: 1/1"
vorrei creare delle arry cosi
indicazione[1]='1'
indicazione[2]='destra'
indicazione[3]='carlo'
come avrete capito vorrei scomporre la stringa che arduino legge, dopo che una pagina htm la invia ad arduino.
Grazie
Hai la "," che ti fa da separatore fai uno split
PABLO ma lo split si fa come in ASP?
potresti farmi un esempio.
nid adesso provo anche la tua versione
grazie
ho sto cercando di capire come fare con questo script:
Ma nnn funziona per come voglio.. cosa sbaglio?
Messaggio="carlo?andrea?filippo"
int listo=0;
if (Messaggio.length()>0){
for (int i = 0; i < Messaggio.length(); i++) {
if (Messaggio.substring(i, i+1) == "?") {listo=listo+1; firstVal[listo] ="";}
firstVal[listo] += Messaggio.substring(i, i+1);
}
}
(per questo esempio) mi da 3 array che "pulirò" con
firstVal[1].replace("?","");
usando questo
listo=0;
if (Messaggio.length()>0){
for (int i=0; i<Messaggio.length(); i++) {
if (Messaggio.substring(i, i+1) == "?") {listo=listo+1; firstVal[listo] ="";}
firstVal[listo] += Messaggio.substring(i, i+1);
}
}
mi da errore alla riga ''for (int i=0; i<Messaggio.length(); i++) {''
errore cosi scritto:
Domotica_.ino: In function 'void loop()':
Domotica_.ino:424:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
che cosa sbaglio, se pur lo compila a gira con qualche difficoltà.
Solo un warning, nulla di grave. Prova a mettere unsigned davanti a int i
"for (unsigned int i=0; i<Messaggio.length(); i++) {"
Per il resto, io mi rifiuto di usare la classe String, meglio le stringhe del C.