Pagini recente » Cod sursa (job #1823566) | Cod sursa (job #1837450) | Cod sursa (job #1042051) | Cod sursa (job #1281387) | Cod sursa (job #1482875)
#include<stdio.h>
#include<string.h>
#define MAX 2000001
char pat[MAX],txt[MAX];
int poz[MAX];
int main()
{
FILE* f1,*f2;
f1=fopen("strmatch.in","r");
f2=fopen("strmatch.out","w");
fscanf(f1,"%s %s",pat,txt);
if(strlen(pat)>strlen(txt))
{
fprintf(f2,"0\n");
return 0;
}
int i=0,count=0;
char* t=txt;
while(t)
{
char* p=strstr(t,pat);
if(p==NULL)
break;
while(p!=t)
{
i++;
t++;
}
poz[count++]=i;
t++;
i++;
}
fprintf(f2,"%d\n",count);
for(i=0;i<count;i++)
fprintf(f2,"%d ",poz[i]);
fcloseall();
return 0;
}