C语言在读文件遇到的奇怪有关问题

C语言在读文件遇到的奇怪问题
int WordCount(FILE *fpstr,char word[])
{
int k=0,j=0;
int fp_opsition;
int word_length=strlen(word);
char str[100];
while(!feof(fpstr))
{
fgets(str,word_length+1,fpstr);
if(strcmp(str,word)==0)
k++;
      
strcpy_s(str,100,"");
j++;
fseek(fpstr,(long)(sizeof(char)*j),SEEK_SET);//每次比较完之后,文件指针位置加1,再读取字符串进行下一次比较
fp_opsition=ftell(fpstr);
printf("%d    %d\n",fp_opsition,k);
}
return k;
}

这个函数的目的是在打开的文件里查找word[]里存放的字符串出现的次数。
C语言 读文件

------解决方案--------------------
记住一点,feof应该在读之后调用。