#include<stdio.h>
#include<stdlib.h>
#include<string.h>
main(){
FILE *fp;
char str1[10],str2[10],*p,*q;
int n=0,m;
fp=fopen("即将要被检索的文本.txt","r");
if(fp==NULL){
printf("打开文本失败!");
exit(0);
}
printf("请输入要查找的汉字:\n");
scanf("%s",str1);
m=strlen(str1)+1;
q=fgets( str2,m,fp);
strcpy(p,q);
while(!feof(fp)){
if(strcmp(str1,p)==0){
n++;
}
q=fgets( str2,m,fp);
strcpy(p,q);
}
printf("%d\n",n);
fclose(fp);
}程序无错误,但是无法达到预期结果,通过调试发现文件结束时比期望的晚一步,while中的条件怎么修改,可以提前结束,求大神知道,感激不尽!