zoukankan      html  css  js  c++  java
  • C语言统计文件字符数 单词数 行数

      前天用java写了这个功能,今天用C语言实现了一下,有点恼火的就是判断每行字符串最后一个字符了,如果为空格的话就要特别处理一下,还要注意,记得每行时都要将

    isLastBlank重置为1,而且刚刚开始时候他的值是为0.
    github地址:https://github.com/ICanV/wc

    看代码:

    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    void wcexe(char *filename){
    	FILE *fp;
    	char buffer[1000];
    	char c;
    	int bufferlen;
    	int isLastBlank = 0; // 上个字符是否是空格(1表示是  0表示不是)
    	int charCount=0;
    	int wordCount=0;
    	int lineCount=0;
    	int i;
    
    	if((fp=fopen(filename,"rb"))==NULL){
    		printf("文件不能打开\n");
    		exit(0);
    	}
    	while(fgets(buffer,1000,fp)!=NULL){
    		bufferlen=strlen(buffer);
    		for(i=0;i<bufferlen;i++){
    			c=buffer[i];
    			if(c==' ' || c=='\t'){
    				if(isLastBlank==0){
    					wordCount++;
    				}
    				isLastBlank=1;
    			}else if(c!='\n'&&c!='\r'){
    				charCount++;
    				isLastBlank=0;
    			}
    
    		}
    		if(isLastBlank==0)
    			wordCount++;
    		isLastBlank=1;
    		lineCount++;
    	}
    	fclose(fp);
    	printf("行数:%d\n",lineCount);
    	printf("字符数:%d\n",charCount);
    	printf("单词数:%d\n",wordCount);
    
    	
    }
    void main(){
    	char filename[]="C://Users//Administrator//Desktop//123.txt";
    	wcexe(filename);
    

      

      

  • 相关阅读:
    算术运算
    数据分析
    科学计算
    面向对象
    文件操作-py
    pillow图像处理
    模块
    固定翼飞行过程产生的阻力
    修改行间距等基本操作
    文件操作
  • 原文地址:https://www.cnblogs.com/liupeixuan/p/7551016.html
Copyright © 2011-2022 走看看