fprintf(fp,"%c",10);
printf("结束输入吗?y or n :");yn=getchar();} fclose(fp);//关闭文件 printf("建立文件结束!"); }
void SubStrCount()
{char a[7]={',','.',';','!','?',' ','\n'}; FILE *fp;
SString S,T;//定义两个串变量 char fname[10]; int i=0,j,k;
printf("输入文本文件名:"); scanf("%s",fname); fp=fopen(fname,"r");
printf("输入要统计计数的单词:"); scanf("%s",T.ch);
T.length=strlen(T.ch);
while(!feof(fp)){ //扫描整个文本文件 memset(S.ch,'\0',256);
fgets(S.ch,256,fp); //读入一行文本 S.length=strlen(S.ch); k=0; //初始化开始检索位置
while(k<S.length-1) //检索整个主串S {j=IndexBF(S,T,k);//调用串匹配函数 if(j<0 ) break; else if(j==0)
{ if(match(a,7,S.ch[T.length])) i++;//单词计数器加1
k=j+T.length;//继续下一字串的检索 }
else {if(match(a,7,S.ch[j-1])&&match(a,7,S.ch[j+T.length])) i++;//单词计数器加1
k=j+T.length;//继续下一字串的检索 } } }
printf("\n单词%s在文本文件%s中共出现%d次\n",T.ch,fname,i); }//统计单词出现的个数 void SubStrInd()
{char a[7]={',','.',';','!','?',' ','\n'}; FILE *fp;
SString S,T; char fname[10]; int i,j,k,l,m;