Ok, non sarà il massimo dell' eleganza, ma ho risolto da me così:
codice:
char *Estrai(char *target, char *src)
{
int len, i = 0, j = 0, trovato = 0, l;
char *temp;
len = strlen(target);
l = len;
temp = (char *) malloc(len);
while(src[i] != '\0' && trovato == 0)
{
if(src[i] == target[j])
{
if(l > 1)
{
i++;
j++;
l--;
}
else
trovato = 1;
}
else
{
j = 0;
l = len;
i++;
}
}
if(trovato == 1)
{
i++;
if(src[i] == '=')
{
j = 0;
i++;
while(src[i] != '&' && src[i] != '\0')
{
temp[j] = src[i];
j++;
i++;
}
temp[j] = '\0';
}
}
return temp;
}
Se volete, pareri e consigli per alternative sono sempre ben accetti...