Я пытаюсь сопоставить всю строку, а не только ее часть. Например, если needle
равно 2
, я бы хотел сопоставить только string 2
и not 20, 02, or 22
или что-нибудь связанное.
Я использую strstr
как:
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{
FILE *file;
char l[BUFSIZ];
int linenumber = 1;
char term[6] = "2";
file = fopen(argv[1], "r");
if(file != NULL) {
while(fgets(l, sizeof(l), file)){
if(strstr(l, term) != NULL) {
printf("Search Term Found at %d!\n", linenumber);
}
++linenumber;
}
}
else {
perror(argv[1]);
}
fclose(file);
return 0;
}