當前位置:編程學習大全網 - 編程語言 - 用C語言篩選文章

用C語言篩選文章

主要是CalcWord和WriteWord函數,仔細研究壹下,不要浪費我的心血:

# include & ltstdio.h & gt

# include & ltconio.h & gt

# include & ltstring.h & gt

# include & ltctype.h & gt

# include & ltmath.h & gt

結構字_FOUND

{

char SZ word[256];

int nCount

};

WORD _ FOUND g _ WORD FOUND[1000]= { { " ",0 } };

int g _ n match = 0;

int CalcWord(char *szFile)

{

char SZ text[1024];

char SZ word[512];

FILE * fp

int I;

if ((fp=fopen(szFile," r))= = NULL)

{

printf("找不到文件");

return-1;

}

while(fgets(szText,sizeof(szText)-1,fp))

{

char *tmp=szText,* end = SZ text+strlen(SZ text);

char * endChr

while(tmp & lt;結束)

{

while((* tmp = = ' ' | | * tmp = = ' \ n ' | | * tmp = = ' \ t ' | |!isalpha(* tmp))& amp;& amp* tmp)tmp++;

endChr = tmp

while(* end chr & amp;& amp*endChr!= ' \ n ' & amp& amp*endChr!= ' \ r ' & amp& amp*endChr!=' ')

{

如果(!isalpha(abs(*endChr)))

打破;

end chr++;

}

memset(szWord,0,sizeof(SZ word));

strncpy(szWord,tmp,end chr-tmp);

bool bFound = false

for(I = 0;我& ltg _ nMatchi++)

{

if (strcmp(g_WordFound[i].szWord,szWord)==0)

{

g_WordFound[i]。ncount++;

bFound = true

打破;

}

}

如果(!發現與發現。& ampstrlen(szWord)>0)

{

strcpy(g_WordFound[g_nMatch])。szWord,SZ word);

g_WordFound[g_nMatch]。ncount++;

g _ n match++;

}

tmp = endChr

if(tmp & gt;= end)break;

}

}

返回0;

}

int WriteWord(char *szFile,int nAppearance)

{

int I;

FILE *file=fopen(szFile," w ");

如果(!文件)return-1;

for(I = 0;我& ltg _ nMatchi++)

{

if (g_WordFound[i].nCount & gt= nAppearance)

{

fwrite(g_WordFound[i].szWord,1,strlen(g_WordFound[i].szWord)、文件);

fwrite("\n ",1,1,file);

printf("%s = %d\n ",g_WordFound[i]。szWord,g_WordFound[i]。nCount);

}

}

if(file)fclose(file);

返回0;

}

int main()

{

int I;

if (CalcWord("in.txt ")!=0)

{

printf("計算單詞失敗\ n ");

返回0;

}

WriteWord("out.txt ",10);

for(I = 0;我& ltg _ nMatchi++)

{

printf("%s = %d\n ",g_WordFound[i]。szWord,g_WordFound[i]。nCount);

}

getch();

返回0;

}

  • 上一篇:寧海縣技工學校的學校概況
  • 下一篇:自學編程哪個好?
  • copyright 2024編程學習大全網