Size: a a a

ESP8266 & ESP32 [RU]

2021 May 10

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Да нет ниче конкретного. Freertos посмотри да и все.
источник

ИА

Игорь Алегин... in ESP8266 & ESP32 [RU]
Смотрю, но имхо маловато. Поэтому вопрос до сих пор открытый
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
вопрос какой?
источник

AF

Alexey D. Filimonov ... in ESP8266 & ESP32 [RU]
Проблема то в чем?
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
очевидно секретная разработка :)
источник

S

Sneg. in ESP8266 & ESP32 [RU]
Sneg.:
Парни подскажите пожалуйста:
Есть String s = 2021,5,9,15,10,0
То есть строка с шестью цифрами через запятую. Как ее парсить что бы от туда выдернуть все значения которые через запятую?
Мне нужно получить из нее шесть значений int.

Первую и вторую я могу получить, через указатель indexOf. А как сделать после второй запятой не понимаю. Как в коде указать вторую запятую?
источник

r

romanetz in ESP8266 & ESP32 [RU]
В плюсах есть это всё (split). Если расово верный Си нужен - то strstr итеративно вызывать
источник

SZ

Slava Zagaynov in ESP8266 & ESP32 [RU]
//---------------------------------------------------------
int Countsubstring(String s){
 
 if (s.substring(s.length()) == ","){s = s + ",";}
 //Serialprintln("Countsubstring="+s);
 String _s = s;
 _s.replace(",", "");
   int count = (s.length() - _s.length());
   return count;
 
}



//--------------------------------------------------------- ️
String get_v(String T, int np, int r, int is){
 
 int np_ = (np-1)*r+is;
 if (np_ > Countsubstring(T)){return "";}
 String ts = T;
 int ix;
 if (is >0){
   do{ix = ts.indexOf(",");
     ts = ts.substring(ix+1);    
     --np_;
   }while (np_ > 0);  
 }
 String v = ts.substring(0,ts.indexOf(","));

 return v;
 
}

как то так
String ii = "";   ii = config.ip;   String p1 = get_v(ii,1,1,0); // строка, позиция, размер, смещение
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
уже же писал - sscanf(buf, "%d,%d,%d,%d,%d,%d", x, y,j, x1, y1,j1);
источник

Х

Х in ESP8266 & ESP32 [RU]
Пробегись циклом с конца строки каждую следующую цифру умножая на нужную степень десятки, пока не встретишь запятую или нулевой символ.
источник

Х

Х in ESP8266 & ESP32 [RU]
Очевидно же.
источник

S

Sneg. in ESP8266 & ESP32 [RU]
Похоже эта функция работает только с char. Но даже так у меня не вышло почему то. Со строками у меня проблематично очень. Если кто может написать красиво это все, пишите в личку. Готов отблагодарить финансово.
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
у вас с++?
источник

S

Sneg. in ESP8266 & ESP32 [RU]
Да
источник

S

Sneg. in ESP8266 & ESP32 [RU]
Arduino ide
источник

k

ketbul in ESP8266 & ESP32 [RU]
А что получается в итоге в этой функции? Классический вид примерно такой sscanf("hello 1 2 3 4 5", "%s%d", str, &i);
источник

AK

Andy Korg in ESP8266 & ESP32 [RU]
#include <iostream>
#include <string>
using namespace std;  

int main()
{
   string str = "2021,5,9,15,10,0";
   int x, y,j, x1, y1,j1;
   
   const char *s = str.c_str();
   sscanf(s, "%d,%d,%d,%d,%d,%d", &x, &y,&j, &x1, &y1,&j1);
   printf("x = %d y= %d j = %d x1 = %d y1 = %d j1 =%d", x, y,j, x1, y1,j1);

   return 0;
}
источник

k

ketbul in ESP8266 & ESP32 [RU]
Работает)
источник

k

ketbul in ESP8266 & ESP32 [RU]
источник

k

ketbul in ESP8266 & ESP32 [RU]
Тоже хотел про это сказать)
источник