Его OBD-II основан на вязе, код: получение байта из вяза, хочу получить вывод как int

Его OBD-II основан на elm, код: Получение байта от elm327, хочу получить вывод в виде значений датчиков автомобилей.

void loop()
{
BuildINString="";  
  while(Serial.available() > 0)     // data in byte   ex. >04 05 0D
  {
    inData=0;   //  in byte
    inChar=0;
    inData = Serial.read();      
    inChar=char(inData);
    BuildINString = BuildINString + inChar;
  }
 WorkingString = BuildINString.substring(6,8);       // Out of "04 05 0D" & i've to use '0D'  (Hex)
  int  A = strtol(WorkingString.c_str(),NULL,0);
}

может кто-нибудь, пожалуйста, объясните мне о strtol()??

что такое :
WorkingString.c_str()?? он преобразовывает hex в dec??

если нет, как здесь преобразовать байт в шестнадцатеричный.

моя конечная цель - получить десятичные данные в A.


person narendok    schedule 13.12.2019    source источник
comment
Отвечает ли это на ваш вопрос? Что такое использование функции c_str в С++   -  person kaylum    schedule 13.12.2019
comment
Какую библиотеку вы используете?   -  person Synapsido    schedule 13.12.2019
comment
@kaylum ........ strtol(WorkingString.c_str(),NULL,0); Мне нужно знать функцию strtol и использовать преобразование .c_str()? как я читал, c_str скрывает постоянный символ - это нормально, я думаю, что strtol нужен постоянный символ, тогда его можно удалить нулевым символом, используя strtol, который нужен моему коду. но также делает шестнадцатеричное преобразование или нет?   -  person narendok    schedule 15.12.2019
comment
@Synapsido — это не библиотека, это простые строковые операции. Спасибо   -  person narendok    schedule 15.12.2019