C Beginner: How to search for particular words in a file (line by line) in C
c, file, strcmp, while-loop
Solution
Instead of calling `fscanf` on the `file` after you've already read from it with `fgets`, you should be calling `sscanf` on the `string_0` variable that you are copying the data to in your `fgets` call.
Problem
I need to search for two particular words in a file line by line and if they exist, print "Found!". This is file.txt (has four columns) ``` bill gates 62bill microsoft beyonce knowles 300mill entertainment my name -$9000 student ``` The following is the idea I had but it doesn't seem to work ``` char firstname[]; char lastname[]; char string_0[256]; file = fopen("file.txt","r+"); while((fgets(string_0,256,file)) != NULL) { //scans the line then sets 1st and 2nd word to those variables fscanf(file,"%s %s",&firstname, &lastname); if(strcmp(firstname,"beyonce")==0 && strcmp(lastname,"knowles")==0){ printf("A match has been found"); } } fclose(file); ``` Please help. Could it be that the pointer is not moving to the next line in the while loop? And if so, how can i fix?