Разделение строки на подстроки

gentokky
Offline
Зарегистрирован: 25.03.2018

Суть такова

Я ввожу строку типа "read 123",

где read - команда которую нужно выполнить, (Вообще это будет программа для чтения внешней epprom 24cxx)

а 123 -  параметр (В данном случае байт до которого читать память).

То есть строку нужно разделить и сравнить ткк если анализировать ее целиком, функция equals() нас не поймет, ну точнее поймет но если мы добавим парамет строка ведь тоже измениться. Вот код

if (Serial.available() > 0) {  //если пришли данные
  str = Serial.readStringUntil('\n'); //задаем значени строки
f = Serial.parseInt(); //задем параметр 

    Serial.print("[you]"); 
      Serial.println(str);  //выводим то что пришло


  if(str.equalsIgnoreCase("read")){ //проверяем если введено read тогда ...
 read();}
  }

Думал сделать разделение но не совсем понимаю как, а то что нашел работет только с масивами char

char * pch;
pch = strtok (str," ");
while (pch != NULL)
{
  Serial.println(pch);
  pch = strtok (NULL, " ");
}

Можете помочь ?

 

gentokky
Offline
Зарегистрирован: 25.03.2018

P.S.

я  чайник

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ну, а описание класса String Вы читали? Только честно? Прочтите, там всё есть.