>>Просто я не лютый си-программер, хотя здесь чисто скорее алгоритмическая задачи, чем
>>программистская.
>
>Нет тут алгоритмической задачи. Как и помощи от вас ,)
Вообщем, накидал такой код
buffer - входной буфер с сокета
tag_start, tag_end - соответственно открывающийся и закрывающий теги
if((s1=strstr(buffer,tag_start))!=NULL && (s2=strstr(s1,tag_end))!=NULL)
{
pos=0;
for(i=0,j=0;i<strlen(s1);i++)
{
if(s1[i]==tag_end[j])
{
n=pos=i;
eq=1;
do
{
if(s1[n+1]==tag_end[j+1])
{
n++;
j++;
}
else
{
eq=0;
j=0;
break;
}
} while(tag_end[j]!='\0');
}
else
{
eq=0;
}
}
printf("%d\n",pos);
}
else
{
printf("%s\n","Pattern not found or incorrect buffer string");
}
Собственно, запоминаем позицию. затем в цикле считываем до нее и получаем переменную между тегов,