write a C program : To find out the number of identical
words in two files . the file name should be taken as
command line argument .



write a C program : To find out the number of identical words in two files . the file name should b..

Answer / mohammed asif

//Email: mohdasif_2688@rocketmail.com
//Hello friends This program sure contains some errors which need to be rectified
//If any problem feel free to contact me at my email address i am a fresher (2012 passed out) too looking for a job.

#include<stdio.h>
#include<conio.h>
#include<process.h>
#include<string.h>
#include<ctype.h>

int main(int argc,char *argv[])
{
char word[15]="\0",ch='\0',s[80]="\0";
FILE *fp,*fp1;
int init,count=0,l,i=0,j=0,k1;

fp=fopen("src.txt","r");
if(fp==NULL)
{
printf("Invalid File name");
exit(0);
}


while(ch!=-1)
{
init=0;
strset(word,'\0');
while((ch=fgetc(fp))!=' ')
{
if(ch!=-1)
{
if(ch!='\t')
{
if(ch!='\n')
{
word[init]=ch;
init++;
}
else
break;
}
else
break;
}
else
break;

}
word[init]='\0';
fp1=fopen("dest.txt","r");
if(fp1==NULL)
{
printf("Invalid file name");
exit(0);
}
if(fgets(s,79,fp1)!=NULL)
{
//Variables for the logic initializing
i=0;
j=0;k1=0;

//Possible ERROR Location
//here you get two array of chars word[] and s[]
//If finding error then work on these arrays to just find the substring in the main s[] string

l=strlen(word);
while (word[i]!=EOF)
{
if (s[i]==word[j])
{
i++;
j++;
k1=1;
if (j==l)
{
j=0;
count++;
}
}
else
{
if (k1==1)
{
j=0;
k1=0;
}
else
i++;
}
}

// end of Possible Error Location

}

fclose(fp1);

}
printf("\nNumber of Identical words is : %d",count);
fclose(fp);
system("pause");
}


//Note: This program does not take arguments from CMD. If you wish to then just use
// argv[1] in place of "src.txt" : i.e source file
// argv[2] in place of "dest.txt" : i.e destination file
//argc[1] & argv[2] are two text files with multiple words in the solutions directory
//Program written using MSVisual c++

Is This Answer Correct ?    0 Yes 0 No

Post New Answer

More C Interview Questions

char ch=10;printf("%d",ch);what is the output

14 Answers   Accenture,


what is ANSI and ISO

7 Answers   HCL,


What are the advantages of using Unions?

0 Answers   IBS,


What is Dynamic Initialization.

3 Answers  


Write a C Programm.. we press 'a' , it shows the albhabetical number is 1, if we press 'g' it shows the answer 7.. any can help me

7 Answers  






#define d 10+10 main() { printf("%d",d*d); }

6 Answers  


wat are the two methods for swapping two numbers without using temp variable??

2 Answers  


What is a pragma?

0 Answers  


What is #define in c?

0 Answers  


main() { int *ptr=(int*)malloc(sizeof(int)); *ptr=4; printf("%d",(*ptr)+++*ptr++); }

5 Answers   Vector, Vector Solutions,


What is nested structure?

0 Answers  


What is modeling?

0 Answers  


Categories