Разбить String на параметры

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Здравствуйте.

Имею:

String req = client.readStringUntil('\r');

req получает строку типа:

GET /servo/90%text%param HTTP/1.1
Мне нужно разделить 90%text%param на:
90
text
param
 
Подскажите как
 
 
Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014
char ugol;
char text;
char param;
char * text = strtok (req ,"%");

req у меня - это String

 

Хочу получить:

ugol = 90
text = text
param = param

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

вы издеваетесь??!  

char ugol = '9'; // и все больше туда не поместится
// а вот указатель на char может быть так
char *ugol="90";
тогда 
ugol[0] это '9'
ugol[1] это '0'
ugol[2]  =0х00

 

Short Circuit
Short Circuit аватар
Offline
Зарегистрирован: 17.05.2015

куча вариантов..    читайте примеры работы String  - там выбирете что вам больше подойдет.

ну и для начала форумом научитесь польоваться правильно, и уважать тех укого ответ хотите получить.

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

Блин, Вы ж три года уже этим занимаетесь. Там 100500 способов это сделать, ну если Вам так приспичило работать именно со String, ну почитайте Вы про indexOf, ну и про остальные методы, конечно.

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014
String req = "GET /servo/u=900&t=qaz&p=wsx HTTP/1.1";

void setup() {
Serial.begin(9600);




String a=req.substring(req.indexOf("u=")+2,req.indexOf("&t="));
String b=req.substring(req.indexOf("t=")+2,req.indexOf("&p="));
String c=req.substring(req.indexOf("p=")+2,req.indexOf("HTTP")-1);

Serial.println(a);
Serial.println(b);
Serial.println(c);
}

    
void loop() {}

Может глупо, но работает)

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

Ну, вот. И стоило ли этот пост постить?

С Победой!

Sergeyevd
Sergeyevd аватар
Offline
Зарегистрирован: 25.03.2014

Благодарю.)))