THE MAIN FILE
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#define filesize 10000
#define segsize 1000
char *ReadFile()
{
FILE *fp;
char *listp;
char list[filesize];
int numread;
///Reading file into buffer and assigning pointer to array
if( (fp = fopen( "e:\\temp\\tur.txt", "r" )) != NULL );
{
numread = fread( list, sizeof( char), filesize, fp );
listp=&list[0];
fclose( fp );
}
///Returning w pointer to buffer
return(listp);
}
int StrSearch(char *str,int token)
{
int n;
for (n=0;*str !=token;str++)
n++;
///returning w lenght of string
return(n);
}
int MakeAnswer(char *listp,char *inputstr)
{
char *maskword=malloc(segsize);
char *result=malloc(segsize);
char *answer=malloc(segsize);
char *final=malloc(segsize);
char *loc=malloc(segsize);
char answnum;
int lenght;
int res=0;
loc=listp;
///search until word match is found
while (res!=1)
{
///maskout a word from a segment
lenght=StrSearch(loc,'#');
////maskout word
strncpy(maskword,(loc+lenght)+1,StrSearch(loc,'#')+2);
///scan the input for this word and return w pointer to its answers
result=strstr(inputstr,maskword);
answnum='1';
if (result>NULL)
{
answer=strstr(loc,maskword);
lenght=StrSearch(answer,answnum)+1;
strncpy(final,answer+lenght,StrSearch(answer+lenght,'%'));
printf("%s\n",final);
res=1;
}
///store position of next word in loc
loc=loc+lenght+2+StrSearch(loc+lenght+1,'#');
loc=loc+StrSearch(loc,'#');
///reset parameters
lenght=0;
maskword="";
}
return(0);
}
int main()
{
char inp[50];
gets(inp);
MakeAnswer(ReadFile(),inp);
getch();
return(0);
}