int wz[20];
printf("输入文本文件名:"); scanf("%s",fname); fp=fopen(fname,"r");
printf("输入要检索的单词:"); scanf("%s",T.ch);
T.length=strlen(T.ch); l=0;
while(!feof(fp)) {
memset(S.ch,'\0',256); fgets(S.ch,256,fp); S.length=strlen(S.ch); l++; k=0; i=0;
while(k<S.length-1) { j=IndexBF(S,T,k); if(j<0) break; else if(j==0) {
if(match(a,7,S.ch[T.length])) {i++;
wz[i]=j;}
k=j+T.length; } else
{if(match(a,7,S.ch[j-1])&&match(a,7,S.ch[j+T.length])) {i++;wz[i]=j;} k=j+T.length; } }
if(i>0){
printf("行号:%d,次数:%d,位置分别为:",l,i); for(m=1;m<=i;m++)
printf("%4d",wz[m]+1); printf("\n"); } }
}//检索单词出现在文本文件中的行号、次数及其位置 main()
{SString S, T,M; int xz,wz;
int next[MaxStrSize];
char a[MaxStrSize],b[MaxStrSize]; do {printf("\n");
printf("* * * * * * * * * * * * * * * * * * * * * * * * *\n");