当前位置:   article > 正文

Linux (CentOs) 统计文件单词数量_linux 统计单词个数

linux 统计单词个数

声明:如有侵权,请联系删除。本篇源头是我的一个朋友@Abieai的博客。

1、原理:

  状态机初始化状态设置为OUT状态,当识别为字母时就会进入IN状态,中间如果遇到分隔符的话,就会再次变为OUT状态,通过计算状态变换的次数,来计算单词的数量。也就是所有字符=字母+分隔符。根据状态机的OUT和IN状态变换来判断一个文件中的字符数量。

2、实现:

  1. #include <stdio.h>
  2. #define OUT 0 //设置OUT状态
  3. #define IN 1 //设置IN状态
  4. #define INIT OUT //初始化状态
  5. int count_word(char *filename){ //文件名
  6. int status=INIT;//初始化状态
  7. int word=0;//单词量初始数
  8. FILE *fp = fopen(filename,"r");//可读权限
  9. if(fp == NULL) return -1;
  10. char c;
  11. while((c=fgetc(fp))!=EOF){
  12. if((c<65||c>90)&&(c<97||c>122)){//非字母的
  13. status=OUT;
  14. }else if(OUT==status) {
  15. status=IN;
  16. word++;
  17. }
  18. }
  19. return word;
  20. }
  21. int main(int argc,char *argv[]){
  22. if(argc<2)return -1;
  23. printf(
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/578298
推荐阅读
相关标签
  

闽ICP备14008679号