Помогите с переводом char в String

Wadamir
Offline
Зарегистрирован: 03.12.2013

Запутался окончательно с типами char, char*, String... 

Помогите!

#define MAX_STRING_LEN  22
char *p, *i;

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

void loop()
{
  char buf[21];
  char *part[4];
  
  // is there any data pending? 
  if( Mirf.dataReady() )
  {
     // well, get it
     Mirf.getData((uint8_t *)&buf);

    // ... and write it out to the PC
     Serial.println (buf);
     
     for (int i=1; i <= 4; i++) {
       part[i]=subStr(buf, " ", i);
     }
  }

}

// Function to return a substring defined by a delimiter at an index
char* subStr (char* str, char *delim, int index) {
   char *act, *sub, *ptr;
   static char copy[MAX_STRING_LEN];
   int i;

   // Since strtok consumes the first arg, make a copy
   strcpy(copy, str);

   for (i = 1, act = copy; i <= index; i++, act = NULL) {
      //Serial.print(".");
      sub = strtok_r(act, delim, &ptr);
      if (sub == NULL) break;
   }
  
   return sub;
}

Вопрос такой: 

получаю part[1], part [2], part [3], part[4]

Теперь хочу склеить это все для отправки на сервер.

склеить надо в таком виде :

String msg1 = "GET /sensors.php?t1="+ part[2] + "&h1="+ part[3];

плюс отдельная строка:

String msg2 = "GET /bat.php?v_bat1="+ part[4] ;

 

Никак не могу привести к единому... То там char, а там String. То наоборот...

Голову сломал...

Wadamir
Offline
Зарегистрирован: 03.12.2013

Все, уже не надо...

Оказывается мне и не требуется переводить это в строку :) Можно передавать и так... :)