Wpis z mikrobloga

String handTimestamp = response["properties"]["handTimestamp"];
int numer = atoi(handTimestamp);

rzuca błędem:

invalid conversion from 'ArduinoJson::Internals::JsonVariantAs::type {aka const char*}' to 'char*'
Z 10 lat niczego nie pisałem w C :D Teraz wiem co czują nowi pracownicy :P
atoi(handTimestamp)


@lecter69:

Tutaj C++ nie kuleje tylko umiejętność czytania ze zrozumieniem.

Nie wiem po co ci oddzielnie godziny i minuty ale możesz sobie string podzielić wg. dwukropka i dostajesz oddzielnie godziny i minuty jako stringi a potem przeparsować na inty.
Ta, ale handTimestamp nie zawiera ładnie sformatowanej godziny z dwukropkiem, którą bym mógł sobie wyciągnąć tylko timestampa, int/ long/ czy cokolwiek innego co tam C ma.
@mudzo:
Sprawdź proszę
http://playground.arduino.cc/Code/Time

time_t t = now(); // Store the current time in time
// variable t
hour(t); // Returns the hour for the given
// time t
minute(t); // Returns the minute for the given
// time t
second(t); // Returns the second for the given
// time t
day(t); // The day for the given time t

weekday(t); // Day of the week for the given
// time
@lecter69: String jest klasą z biblioteki arduino (chyba że używasz innego stringa?), atoi na nim nie zadziała, chyba że weźmiesz z niego char*
czyli atoi(handTimestamp.c_str())
Znacznie lepiej skorzystać jest jednak z dedykowanej funkcji przeznaczonej do konwersji stringa na inta, czyli
handTimestamp.toInt()