fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main()
  6. {
  7. char buff[]="+DATA: 43 BYTES FROM 0000:0000 (043)\nNodo_8:(T=21.45,HR=45.65,DW=9.34,Vcc=3.46V)";
  8.  
  9. printf("%s\n", buff);
  10. char dev_a[25] = "", temp_a[25] = "", hr_a[25] = "", dw_a[25] = "", vcc_a[25] = "";
  11. char* ptr;
  12.  
  13. ptr = strtok(buff, "+DAT:BYTESFROM()\nNod_ ,=HWVc");
  14. int i = 0;
  15. while (ptr != NULL)
  16. {
  17. ptr = strtok(NULL, "+DAT:BYTESFROM()\nNod_ ,=HWVc");
  18. if (i == 2)
  19. strcat(dev_a, ptr); // copies device
  20. if (i == 4)
  21. strcat(temp_a, ptr); // copies T
  22. if (i == 5)
  23. strcat(hr_a, ptr); // copies HR
  24. if (i == 6)
  25. strcat(dw_a, ptr); // copies DW
  26. if (i == 7)
  27. strcat(vcc_a, ptr);
  28. i++;
  29. }
  30.  
  31. printf("%s, %s, %s, %s, %s\n", dev_a, temp_a,hr_a,dw_a,vcc_a);
  32.  
  33. return 0;
  34. }
Success #stdin #stdout 0s 1832KB
stdin
Standard input is empty
stdout
+DATA: 43 BYTES FROM 0000:0000 (043)
Nodo_8:(T=21.45,HR=45.65,DW=9.34,Vcc=3.46V)
043, 21.45, 45.65, 9.34, 3.46