Есть допустим строка:
Код
unsigned char HTTPStr[] = "setting.html?SSID=sd&PASSWORD=dsd&NOTE=sds";
Нужно вытащить из нее sd и dsd.
Делаю так:
Код
int LeechPar(char* SrsBuf, char* Template, char* DestBuf)
{
int T = strstr((const char*)SrsBuf, Template) + (strlen(Template));
if(!T) {return 0;}
int T1 = strstr((const char*)T,"&");
if(!T1) {return 0;}
int T2 = T1 - T;
if(T2 > 20){return 0;}
memcpy(DestBuf, T, T2);
DestBuf[T2] = 0;
return T2;
}
int main (void)
{
char Buf[20];
//int T = strstr((const char*)HTTPStr,"SSID=") + 5;
//int T1 = strstr((const char*)T,"&");
//memcpy(Buf, T, T1 - T);
//Buf[T1 - T] = 0;
int P = LeechPar(HTTPStr, "SSID=", Buf);
printf("\n%s %d\n", Buf, P);
P = LeechPar(HTTPStr, "PASSWORD=", Buf);
printf("\n%s %d\n", Buf, P);
}
Какие могут быть подводные камни? И может быть есть способ проще?
Сообщение отредактировал Димон Безпарольный - Sep 7 2017, 14:16