Oto cały kod:
#include <stdio.h>
#define NOT_FOUND -1
long getFileSize(char *filename)
{
FILE *file = fopen(filename,"r");
long tmp;
fseek(file,0,SEEK_END);
tmp = ftell(file);
fclose(file);
return tmp;
}
char *getFileContent(char *filename)
{
FILE *file;
long filesize = getFileSize(filename);
char *buffer = malloc(filesize+1);
if (file = fopen(filename, "rt"))
{
fread(buffer, 1, filesize, file);
buffer[filesize] = 0;
fclose(file);
}
return buffer;
}
char *substr(char *source, int start, int howmany)
{
char *destination = malloc(howmany+1);
strncpy(destination, source+start, howmany);
return destination;
}
int strpos(char *string, char *target)
{
char *tmp = strstr(string,target);
if(tmp)
return tmp-string;
return NOT_FOUND;
}
void saveToFile(char *filename, char *content)
{
FILE *file;
if((file = fopen(filename,"w"))==NULL)
{
printf("Nie mozna zapisac do pliku!\n");
return;
}
fprintf(file,"%s",content);
printf("***\n");
fclose(file);
printf("***\n");
}
void getHtmlElements(const char *input)
{
char starts[] = {"<aaaaaa>"};
char ends[] = {"<bbbbbbb>"};
char *element;
int startIndex,endIndex,diff,tabIndex=0;
char *tmp1 = strstr(input,starts);
char buf[10];
do
{
startIndex = strpos(tmp1,starts);
if(startIndex!=NOT_FOUND)
{
endIndex = strpos(tmp1,ends)+strlen(ends);
diff = endIndex-startIndex;
element = malloc(diff+1);
strcpy(element,substr(tmp1,0,diff));
element[diff] = '\0';
saveToFile(strcat(itoa(tabIndex,buf,10),".txt"),element);
tmp1 = tmp1+diff;
tabIndex++;
free(element);
}
}
while(startIndex!=NOT_FOUND);
}
int main()
{
getHtmlElements(getFileContent("0.html"));
return 0;
}
no i 0.html:
Cala masa innego zbednego tekstu<aaaaaa>Anna Maria zajmuje sie nawracaniem Austriakow. Pewnego dnia, po latach nieobecnosci, wraca do niej sparalizowany maz - muzulmanin egipskiego pochodzenia.<bbbbbbb><aaaaaa>Dwie pary zyja w doskonalej harmonii, a jedyne czego im brakuje, to udane zycie seksualne. Wspolny wyjazd na Karaiby obudzi w nich drzemiace instynkty.<bbbbbbb><aaaaaa>Oparta na faktach historia opowiada o trzech przedsiebiorcach, ktorzy w skutek zmowy zostali oskarzeni o dzialalność w grupie przestepczej.<bbbbbbb><aaaaaa>Opowiesc o legendarnym poecie oraz bezsensie wojny i sztuce, ktora jest ponadczasowa i niesmiertelna.<bbbbbbb>