I have a simply task that I wish to do here is the workflow
- User inputs a string which he/she wishes to search exits in a text file
- If string is found, code then prints all the lines in a text file where that string exists.
- Code terminates/function ends.
Now I managed to get file reading working and all, but the issue happens when I combine user input.
For example, when the user inputs "sushi" it does not print out the lines of string in the text file where the word "sushi" exists.
But if I pass the term manually, it works fine (i.e strstr(lineOfText,"sushi));
Here is my code, what could the issue be
int main() {
word_search();
return 0;
}
int word_search() {
FILE *textFile;
char line[MAX_LINE_LENGTH];
textFile = fopen("PATH TO TEXT FILE", "r");
if (textFile == NULL) {
return 1;
}
printf("Please input word to search:");
char userInput[] = "";
fgets(userInput, 250, stdin);
while (fgets(line, MAX_LINE_LENGTH, textFile)) {
if (strstr(line, userInput) != NULL) {
printf("%s", line);
}
}
fclose(textFile);
return 0;
}
Contents of file
1 Wallaby Way Fenwick
1 Sushi Way Fenwick
1 Wallaby Sushi Way Fenwick
1 Alexandria Way Fenwick
1 Alexandira Sushi Ashfield Way Fenwick