#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char c,s1[200],s2[200],s3[200];
void string_sub(char s1[],char s2[],char s3[])
{
char r[200];
printf("\n%s %s %s\n",s1
,s2
,s3
); int i,j,k,x,y;
char res[100];
j=0;
i=0;
while(i<len1)//searching for string 2 in string 1
{
if(s2[j]==s1[i])
{
j++;
i++;
if(j==len2)
{
y=i;
x=i-len2;
break;
}
}
else
{
if(s2[0]!=s1[i])
i++;
j=0;
}
}
k=0;
for(i=0;i<x;i++)
{
r[k]=s1[i];
k++;
}
for(i=0;i<len3;i++)
{
r[k]=s3[i];
k++;
}
i=y;
while(i<len1)
{
r[k]=s1[i];
k++;
i++;
}
r[k]='\0';//resultant string into r
k=0;
for(i
=0;i
<strlen(r
);i
++)//copying resultant string to s1 {
s1[k]=r[i];
k++;
}
s1[k]='\0';
}
int main(int argc,char *argv[])
{
FILE *fp;
if(argc!=2)
{
printf("Invalid number of arguments:"); }
if(fp==NULL)
{
}
int k,f=1;
while(c!=EOF)
{
k=0;
while(c!=';' && f==1)//checking for ';'
{
s1[k]=c;
k++;
}
if(f==1)
{
f=0;
s1[k]=='\0';//storing the first string into s1
}
k=0;
while(c!=',')
{
s2[k]=c;
k++;
}
s2[k]='\0';//2nd string
k=0;
while(c!=',')
{
s3[k]=c;
k++;
if(c=='\n' || c==EOF)
break;
}
s3[k]='\0';//3rd string
string_sub(s1,s2,s3);
if(c=='\n')
f=1;
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPHN0cmluZy5oPgpjaGFyIGMsczFbMjAwXSxzMlsyMDBdLHMzWzIwMF07CnZvaWQgc3RyaW5nX3N1YihjaGFyIHMxW10sY2hhciBzMltdLGNoYXIgczNbXSkKewogICAgICAgIGNoYXIgclsyMDBdOwogICAgICAgIHByaW50ZigiXG4lcyAlcyAlc1xuIixzMSxzMixzMyk7CiAgICAgICAgaW50IGksaixrLHgseTsKICAgICAgICBjaGFyIHJlc1sxMDBdOwogICAgICAgIGludCBsZW4xPXN0cmxlbihzMSk7CiAgICAgICAgaW50IGxlbjI9c3RybGVuKHMyKTsKICAgICAgICBpbnQgbGVuMz1zdHJsZW4oczMpOwogICAgICAgIGo9MDsKICAgICAgICBpPTA7CiAgICAgICAgd2hpbGUoaTxsZW4xKS8vc2VhcmNoaW5nIGZvciBzdHJpbmcgMiBpbiBzdHJpbmcgMQogICAgICAgIHsKICAgICAgICAgICAgICAgIGlmKHMyW2pdPT1zMVtpXSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGo9PWxlbjIpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICB5PWk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgeD1pLWxlbjI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBpZihzMlswXSE9czFbaV0pCiAgICAgICAgICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgICAgICAgICAgICAgaj0wOwogICAgICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBrPTA7CiAgICAgICAgZm9yKGk9MDtpPHg7aSsrKQogICAgICAgIHsKICAgICAgICAJcltrXT1zMVtpXTsKICAgICAgICAJaysrOwogICAgICAgIH0KICAgICAgICBmb3IoaT0wO2k8bGVuMztpKyspCiAgICAgICAgewogICAgICAgICAgICByW2tdPXMzW2ldOwogICAgICAgICAgICAgICAgaysrOwogICAgICAgIH0KICAgICAgICBpPXk7CiAgICAgICAgd2hpbGUoaTxsZW4xKQogICAgICAgIHsKICAgICAgICAgICAgICAgIHJba109czFbaV07CiAgICAgICAgICAgICAgICBrKys7CiAgICAgICAgICAgICAgICBpKys7CiAgICAgICAgfQogICAgICAgIHJba109J1wwJzsvL3Jlc3VsdGFudCBzdHJpbmcgaW50byByCiAgICAgICAgaz0wOwogICAgICAgZm9yKGk9MDtpPHN0cmxlbihyKTtpKyspLy9jb3B5aW5nIHJlc3VsdGFudCBzdHJpbmcgdG8gczEKICAgICAgIHsKICAgICAgIAlzMVtrXT1yW2ldOwogICAgICAgCWsrKzsKICAgICAgIH0KICAgICAgIHMxW2tdPSdcMCc7Cn0KaW50IG1haW4oaW50IGFyZ2MsY2hhciAqYXJndltdKQp7CiAgICAgICAgRklMRSAqZnA7CiAgICAgICAgaWYoYXJnYyE9MikKICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmludGYoIkludmFsaWQgbnVtYmVyIG9mIGFyZ3VtZW50czoiKTsKICAgICAgICAgICAgICAgIGV4aXQoMCk7CiAgICAgICAgfQogICAgICAgIGZwPWZvcGVuKGFyZ3ZbMV0sInIiKTsKICAgICAgICBpZihmcD09TlVMTCkKICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmludGYoIlVuYWJsZSB0byBvcGVuOiIpOwogICAgICAgICAgICAgICAgZXhpdCgwKTsKICAgICAgICB9CiAgICAgICAgYz1mZ2V0YyhmcCk7CiAgICAgICAgaW50IGssZj0xOwogICAgICAgIHdoaWxlKGMhPUVPRikKICAgICAgICB7CiAgICAgICAgICAgICAgICBrPTA7CiAgICAgICAgICAgICAgICB3aGlsZShjIT0nOycgJiYgZj09MSkvL2NoZWNraW5nIGZvciAnOycKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgczFba109YzsKICAgICAgICAgICAgICAgICAgICAgICAgaysrOwogICAgICAgICAgICAgICAgICAgICAgICBjPWZnZXRjKGZwKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmKGY9PTEpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgZj0wOyAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgczFba109PSdcMCc7Ly9zdG9yaW5nIHRoZSBmaXJzdCBzdHJpbmcgaW50byBzMQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaz0wOwogICAgICAgICAgICAgICAgYz1mZ2V0YyhmcCk7CiAgICAgICAgICAgICAgICB3aGlsZShjIT0nLCcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHMyW2tdPWM7CiAgICAgICAgICAgICAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYz1mZ2V0YyhmcCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBzMltrXT0nXDAnOy8vMm5kIHN0cmluZwogICAgICAgICAgICAgICAgaz0wOwogICAgICAgICAgICAgICAgYz1mZ2V0YyhmcCk7CiAgICAgICAgICAgICAgICB3aGlsZShjIT0nLCcpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIHMzW2tdPWM7CiAgICAgICAgICAgICAgICAgICAgICAgIGsrKzsKICAgICAgICAgICAgICAgICAgICAgICAgYz1mZ2V0YyhmcCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGM9PSdcbicgfHwgYz09RU9GKQogICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIHMzW2tdPSdcMCc7Ly8zcmQgc3RyaW5nCiAgICAgICAgICAgICAgICBzdHJpbmdfc3ViKHMxLHMyLHMzKTsKICAgICAgICAgICAgICAgIHByaW50ZigiJXMiLHMxKTsKICAgICAgICAgICAgICAgIGlmKGM9PSdcbicpCiAgICAgICAgICAgICAgICBmPTE7CiAgICAgICAgfQogICAgcmV0dXJuIDA7Cn0=