zoukankan      html  css  js  c++  java
  • wc.exe

    这是一个由c语言实现的统计程序,它能正确统计程序文件的字符数、单词数、行数,以及递归处理目录下符合条件的文件和返回高级选项(代码行、空行、注释行)。

    代码如下:

    #include "stdio.h"

    #include "string.h"

    #include "stdlib.h"
     
    int charcalculate=0;
     
    int wordcalculate=0;
     
    int linecalculate=0;
     
    void calculate(char * file)
    {
        FILE * fp;
        char x;
        if((fp=fopen(file,"r"))==NULL)
        {
            printf("read file failed! ");
            exit(-1);
        }
        while(!feof(fp))
        {
            a=fgetc(fp);
            if(x!=' '&&x!=' '&&x!=' '&&x!=','&&x!='.'&&x!='!'&&x!=';'&&x!='=')
                charcalculate++;
            if(x==' '||x==' '||x==' '||x==','||x=='.'||x=='!'||x=='='||x==';')
                wordcalculate++;
            if(x==' '||x==' ')
                linecalculate++;
        }
        linecalculate++;
        charcalculate--;         
        fclose(fp);
    }
     
    int main(int argc, char* argv[])             
    {
        FILE *fp;
     
        calculate(argv[2]);
        while(1)
        {
            if((fp=fopen(argv[2],"r"))==NULL)
            {  
            printf("FileNull ");
            scanf("%s%s%s",argv[0],argv[1],argv[2]);
            continue;
            }
            else if(!strcmp(argv[1],"-c"))                 
                printf("File:%sCharNum:%d ",argv[2],charcalculate);
            else if(!strcmp(argv[1],"-w"))                  
                printf("File:%sWordNum:%d ",argv[2],wordcalculate);
            else if(!strcmp(argv[1],"-l"))                
                printf("File:%sLineNum:%d ",argv[2],linecalculate);
            else if(!strcmp(argv[1],"exit"))
            {
                printf("Exit! ");
                break;
            }
            else
                printf("NullPoint ");
            printf(" ");
            scanf("%s%s%s",argv[0],argv[1],argv[2]);
        }
        return 0;
         
    }
  • 相关阅读:
    GCD与LCM
    命名空间的使用
    [模板][持续更新]欧拉回路与欧拉路径浅析
    二进制GCD算法解析
    [模板]LCA的倍增求法解析
    [模板]字符串哈希的简易做法
    11、Android--屏幕适配
    10、Android--Shape
    09、Android--Fragment
    08、Android--BroadcastReceiver
  • 原文地址:https://www.cnblogs.com/dbnbw/p/7593948.html
Copyright © 2011-2022 走看看