Добрый день! Помогите пожалуйста. Я делаю отслеживание посылок на ардуино. Получил с сайта отслеживания тонну текста. Как теперь из него вытащить нужные мне строки?
Код (C++): /* === выборка значений ключей из строк === inbuf - исходная строка для разбора inref - имя ключа в исходной строке output - вывод значения ключа !!! - имя ключа и его значение в исходной строке засеняются пробелами */ __inline int strval(char * inbuf, char * inref, char * output) { char * p; uint8_t m = 0; uint8_t n = 0; uint8_t kflag = 0; if((p = strstr(inbuf, inref)) != NULL) { while(1) { if(((*(char*)(p + m)) == '\n') || ((*(char*)(p + m)) == '\r')) break; else if((*(char*)(p + m)) == ' ') kflag = 0xFF; else if(kflag) { (*(char*)(output + n)) = (*(char*)(p + m)); n++; } (*(char*)(inbuf + m)) = ' '; m++; } return 1; } else return 0; } А так применять: Код (C++): res = strval((char*)(wsd->inbuffer), "Sec-WebSocket-Key:", (char*)(wsd->Sec_WebSocket_Key)); if(res) printf("Sec-WebSocket-Key: %s\n", wsd->Sec_WebSocket_Key); Если значение найдено печатаем значение... это из websocket тут: http://forum.amperka.ru/threads/websocket-на-Си-имеет-ли-кто-опыт.15338/ Всё на Си... Может будет пригодно как пример.