You are on page 1of 2

#include<stdio.

h>
#include<string.h>
//#include<conio.h>
void main()
{
int i,j,k,l,n,m,v,flag,p,x=0,y=0,e=0;
char str[100],macro[25],value[25],temp[25];
//clrscr();
printf("enter program\n");
gets(str);
l=strlen(str);
for(i=0;i<l;i++)
{
if(str[i]=='#'&&str[i+1]=='d'&&str[i+2]=='e'&&str[i+3]=='f'&&str[i+4]=='i'&&str[
i+5]=='n'&&str[i+6]=='e')
{
i=i+8;
while(str[i]!=' ')
{
macro[x]=str[i];
i++;
x++;
}
i++;
while(str[i]!=' ')
{
value[y]=str[i];
i++;
y++;
}
break;
}
}
e=i;
m=x;
v=y;
for(i=e;i<l;i++)
{
flag=2;
for(j=0,k=i;j<m;j++,k++)
{
if(str[k]==macro[j])
{ flag=0;
}
else
{
flag=1;
break;
}
}
if(flag==0&&!isalpha(str[i-1])&&!isalpha(str[k])&&!isdigit(str[i-1])&&!isdi
git(str[k]))
{
for(j=i+m,k=0;j<l;j++,k++)
{
temp[k]=str[j];
}
temp[k]='\0';
for(j=i,n=0;n<v;j++,n++)
{

str[j]=value[n];
}
for(n=j,p=0;p<k;n++,p++)
{
str[n]=temp[p];
} str[n]='\0';
l=l-m+v;
}
}
printf("------------\n");
puts(macro);
printf("\n");
puts(value);
printf("\n");
printf("%s",str);
//getch();
}

You might also like