Pa, ovo sam iskodiro, to bi trebalo parast ovaj string, sad on radi za prva 2 taga, ali svi ostali su isti. Ovo je output, a nebi trebao biti
tag1
tag2
tag2
tag2
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int foo(char *dest, int size, const char *field, const char *delim)
{
const char *end, *start = strstr(field, delim);
if ( start != NULL )
{
start += strlen(delim);
end = strchr(start, *delim);
if ( end != NULL )
{
int length = end - start;
if ( length >= --size )
{
length = size;
}
sprintf(dest, "%*.*s", length, length, start);
return 1;
}
}
// return 0;
}
int main(void){
int i=0;
char buffer[32];
char mybuf[100];
char mystr[]="<b>tag1</b><b>tag2</b><b>100 M</b><b>radi</b>";
strcpy(mybuf,mystr);
for (i; i<4; i++){
foo(buffer, sizeof buffer, mybuf, "<b>");
puts(buffer);
memmove(mybuf,mybuf+3,strlen(mybuf+3)+1);
}
return 0;
}
P.S. kod nije formatiran kao kod, nesto se krsilo