Weierstrass ha scritto:
Dato che è Arduino, versione bare metal
std::string ora = "12:13:14";
int h = (ora[0] - '0') * 10 + ora[1] - '0';
Grazie mille per la risposta rapida e al sodo.
Nella traduzione da stringa a intero prendi il primo char e lo moltiplichi per 10 essendo decina e lo sommi alle unità.
Vorrei chiederti però come mai sottrai il char '0'.
È perchè non essendo int quindo moltiplico per 10 darebbe problemi?
E se ad esempio avessi HH=10 --> ('1'-'0')+('0'-'0')
Quale logica ci sta dietro?