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);
    

      

      

  • 相关阅读:
    chattr
    chage命令
    passwd命令
    usermod命令
    userdel命令
    useradd命令
    信息热词分析系统重构
    pandas数据清洗
    python 中mysql数据库的读写
    java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
  • 原文地址:https://www.cnblogs.com/liupeixuan/p/7551016.html
Copyright © 2011-2022 走看看