Ho una funzione che restituisce un array di caratteri e voglio trasformarlo in una stringa in modo da poterlo elaborare meglio (confrontare con altri dati memorizzati). Sto usando questo semplice per questo dovrebbe funzionare, ma non è così per qualche motivo (bufferPos
è la lunghezza della matrice, buffer
è la matrice e item
è una stringa vuota):Trasforma array di caratteri in stringa
for(int k=0; k<bufferPos; k++){
item += buffer[k];
}
Il buffer
ha la valori giusti e così fa bufferPos
, ma quando provo a convertire, ad esempio 544.900.010.837.154, che detiene solo 54. Se aggiungo Serial.prints al per come questo:
for(int k=0; k<bufferPos; k++){
Serial.print(buffer[k]);
Serial.print("\t");
Serial.println(item);
item += buffer[k];
}
l'output è questo:
5
4 5
4 54
9 54
0 54
0 54
0 54
1 54
0 54
8 54
3 54
7 54
1 54
Cosa mi manca? Ci si sente come un compito così semplice e non riesco a vedere la soluzione ...
Grazie! Per qualche ragione str() non ha voluto compilare, ma String() ha funzionato e funziona come previsto. – FloIancu
'str' non è stato dichiarato in questo ambito (Compiler 1.8.3) –
Downvoting perché str() non è una funzione Arduino. Tuttavia, String() funziona davvero così complimenti a Flolancu. –