2015-07-13 2 views
0

Я хочу захватить координаты геолокации с помощью API Карт Google, отправить его в Arduino Uno и разобрать сообщение в массив с плавающими числами.Arduino Uno или php

Я использовал strok() с , как разделитель, но у меня возникли проблемы с разбором SMS-сообщения с текстом и скобками.

Sent from your Twilio trial account - (43.39114023431447, -80.40987968444824)(43.387210701009224, -80.41219711303711)(43.38602555366178, -80.38970947265625) 

мне просто нужно разобрать координаты в float массив.

+0

Всегда ли начать ваше сообщение с «Направлено из вашего пробного аккаунта Twilio -»? Каким должен быть ваш ожидаемый результат? Массив, содержащий все плавающие числа: [43.39114023431447, -80.40987968444824, 43.387210701009224, -80.41219711303711, 43.38602555366178, -80.38970947265625]? Или вы хотите создать массив для каждой «пары»/координаты, например [43.39114023431447, -80.40987968444824] и [43.387210701009224, -80.41219711303711] и [43.38602555366178, -80.38970947265625]? – Michael

ответ

0

Я решил это самостоятельно, используя функцию Строк()

{ 
    const char *delim = "("; //a '(' is the delimiter 
    const char *delim1 = ","; 
    const char *delim3 = ")"; 
    char *text; 
    char *firstItem; 
    char *secondItem; 
    char *thirdItem; 
    char *fourthItem; 
    char *fivethItem; 
    char *sixthItem; 
    char *seventhItem; 
    char *eighthItem; 
    text = strtok(password,delim); 
    firstItem = strtok(NULL,delim1); 
    secondItem = strtok(NULL,delim3); 
    secondItem++; 
    thirdItem = strtok(NULL,delim1); 
    thirdItem++; 
    fourthItem = strtok(NULL,delim3); 
    fourthItem++; 
    fivethItem = strtok(NULL,delim1); 
    fivethItem++; 
    sixthItem = strtok(NULL,delim3); 
    sixthItem++; 
    polyX[0] = atof(firstItem); 
    polyY[0] = atof(secondItem); 
    polyX[1] = atof(thirdItem); 
    polyY[1] = atof(fourthItem); 
    polyX[2] = atof(fivethItem); 
    polyY[2] = atof(sixthItem); 
    memset (password,NULL,sizeof(password)); 
} 
+0

Stack Overflow - это не социальная сеть. В вашем ответе не обязательно говорить «Привет, майкл». – ppperry