精华内容
下载资源
问答
  • 用java实现wc程序:统计文件词字符数行数、空白行、代码行、注释行。注释行统计针对一些特殊情况不适用。
  • //单词计数:统计行数、单词字符数 //单词:不包含空格、制表符、换行符的字符序列 //单词计数:读到不是空字符::前一个是空字符:++。这样做直到下一个是空字符。 int main(void){ int line=0; int word=0;...
    #include <stdio.h>
    
    //单词计数:统计行数、单词数、字符数
    //单词:不包含空格、制表符、换行符的字符序列
    //单词计数:读到不是空字符::前一个是空字符:++。这样做直到下一个是空字符。
    int main(void){
    	int line=0;
    	int word=0;
    	int cha=0;
    	int last=0;//初始化为 前一个是空字符
    	int c;
        while((c=getchar())!=EOF){
    		cha++;
    		if(c=='\n')
    			line++;
    		if(c!=' '&&c!='\t'&&c!='\n'){//读到字符
    			if(last==0){//前一个是空字符
    				word++;
    				last=1;
    			}
    		}//else if(last==1)//前一个不是空字符
    		else if(c==' '||c=='\t'||c=='\n') //读到空字符
    			last=0;
    		
    	}
    	printf("字符数为:%d",cha);
    	printf("行数为:%d",line);
    	printf("单词数为:%d",word);
    
    }

     

    #include <stdio.h>
    //单词计数:统计行数、单词数、字符数
    //单词:不包含空格、制表符、换行符的字符序列
    //单词计数:读到不是空字符::前一个是空字符:++。这样做直到下一个是空字符。
    int main(void){
    	int line=0;
    	int word=0;
    	int cha=0;
    	int last=0;//初始化为 前一个是空字符
    	int c;
        while((c=getchar())!=EOF){
    
    		cha++;
    		if(c=='\n')
    			line++;
    		
    		if(c==' '||c=='\t'||c=='\n') //读到空字符
    			last=0;
    
    		else if(last==0){//前一个是空字符
    				word++;
    				last=1;
    			}
    	}
    	printf("字符数为:%d",cha);
    	printf("行数为:%d",line);
    	printf("单词数为:%d",word);
    
    }

     

     

    展开全文
  • #include #include #define STOP '|' int main() { char c; char prev; long n_chars=0L; int n_lines=0; int n_words=0; int p_lines=0; ... printf("Enter text to be analyzed(| to term
    #include <stdio.h>
    #include<ctype.h>
    #define STOP '|'
    int main()
    {
    	char c;
    	char prev;
    	long n_chars=0L;
    	int n_lines=0;
    	int n_words=0;
    	int p_lines=0;
    	bool inword=false;
    	printf("Enter text to be analyzed(| to terminate): \n");
    	prev='\n';
    	while((c=getchar() )!= STOP)
    	{
    		n_chars++;
    		if(c=='\n')
    			n_lines++;
    		if(!isspace(c) && !inword)
    		{
    		inword = true;
    		n_words++;
    		}
    		if(isspace(c) && inword)		
    			inword=false;
    		prev=c;
    	}
    	if(prev !='\n')
    		p_lines = 1;
    	printf("characters = %ld,words = %d,lines = %d, ",n_chars,n_words,n_lines) ;
    	printf("partial lines = %d \n",p_lines) ;
    	return 0 ;
    }
    

    展开全文
  • 在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行空格对字符串进行分析,那么这是可行的。可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做...

    咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用。

    在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的。可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题就Over 了。

    环境:ubuntu(当然装了flex的windows和mac也可以)

    原码:

    %{
    unsigned long chars=0;
    unsigned long words=0;
    unsigned long lines=0;
    %}
    
    %%
    [a-zA-Z]+               {words++;chars+=strlen(yytext);}
    [a-z\-A-z]+             {words++;chars+=strlen(yytext);}
    [0-9]+                  {words++;chars+=strlen(yytext);}
    [.|,|\b| |\t|\r]        {chars++;}
    [\n]                    {lines++;chars++;}
    %%
    
    int main()
    {
       char filename[100];
       printf("统计一个英文文件中字符、单词、行数。\n");
       printf("请输入要计算的文件名:");
       scanf("%s",filename);
       yyin=fopen(filename,"r");
       printf("开始进行统计...\n");
       printf("未定义的字符:");
       yylex();
       printf("\n字符数:%ld\n", chars);
       printf("单词数:%ld\n", words);
       printf("行数  :%ld\n", lines);
       return 1;
    }
    int yywrap()
    {
        return 1;
    }

    那么解释第一个正则式[a-zA-Z]+  表示一个或者多个由大小写字母组成的单词

    [a-z\-A-z]+             对于特殊的中间加"-"的单词

    [0-9]+                 数字集合

    [.|,|\b| |\t|\r]          特殊符号集合

    在编写完上述代码之后,那么直接用flex 进行编译,将得到一个.c文件,接着对C文件编译生成二进制代码运行即可。

    测试文本:

    my name is te-name
    %%%


    测试结果:


    统计一个英文文件中字符、单词、行数。
    请输入要计算的文件名:test.txt
    开始进行统计...
    未定义的字符:%%%
    字符数:20
    单词数:4
    行数  :2




    展开全文
  • #include #include #include using namespace std;...bool isnum_str(char str) //判断是否是字符或数字 { if((str >= 'A' && str = '0' && str ) ) return true; else return false; } void count(fstream
    #include<iostream>
    #include<fstream>
    #include<string>
    
    using namespace std;
    
    bool isnum_str(char str)  //判断是否是字符或数字
    {
      if((str >= 'A' && str <= 'z') || (str >= '0' && str <= '9') )
    	  return true;
      else
    	  return false;
    }
    
    void count(fstream &outfile, int *cnt )  //统计函数
    { char str[256];
      while(outfile.getline(str,256))
      { 
        int tmp = 0;
        
        for(int i = 0; i < strlen(str); i++)
    	{
    	  if(str[i] == ' ' || str[i] == '.' || str[i] == ',' || str[i] == '?' || str[i] == '!')
    		  cnt[1]++;            //统计单词数
    	  
    	  if(isnum_str(str[i]))
    	  { cnt[0]++;   tmp++;}    //统计字符数,tmp局部变量用来区分是不是一个空行。
    	}
    	
    	if(tmp != 0)
    	cnt[2]++;                 //统计行数
    	tmp = 0;
      }
        
     return ;
    }
    
    int main()
    {
        char filename[256];
        int cnt[3] = {0};
        
        
        cout<<"please input your filename:"<<endl; //输入要统计的文本的绝对路径
        cin.getline(filename,256);
    	
        fstream outfile(filename,ios::in);
        count(outfile,cnt);
        //outfile<<"character:"<<cnt[0]<<"words:"<<cnt[1]<<"lines:"<<cnt[2]<<endl; //不知道这一行为啥输入不到文本,期待学习
    	cout<<"characters: "<<cnt[0]<<endl;
    	cout<<"words:"<<cnt[1]<<endl;
    	cout<<"lines:"<<cnt[2]<<endl;
        outfile.close();
        system("pause");
      return 0;    
    
    system("pause");
    return 0;
    
    }
    
    

    总结:学习了C++中的输入输出流类 。更多参考:点击打开链接。功能要需要进一步加强。
    展开全文
  • 字节写代码,替代Linux下的WC完成字符数行数和单词的统计#includeint main(){int c,nc,lc,wc,stat;stat=nc=wc=lc=0;printf("count is begin(LRQ)/n-------------------------------/n");while ((c=getchar())!=...
  • 统计文本文件中的字符单词和行数,并报告统计结果,用MFC实现
  • 统计录入字符串的字符总数,单词数和行数包括: 字符读取 getchar()函数的使用 *循环使用 UML序列图流程图 离线写博客 何时停止读取 一些头文件的使用
  • #include #define OUT 0 #define IN 1 main() { int hangshu,danci,zifu,state; hangshu = danci = zifu = 0;... printf("行数:%d ,单词:%d ,字符:%d",hangshu,danci,zifu); } 运行结果:
  • 采用c语言实现的计算用户输入的字符数组string的单词个字符行数~
  • 项目源码地址:... 功能实现: wc.exe -c file.c //返回文件 file.c 的字符数 wc.exe -w file.c //返回文件 file.c 的单词总数 wc.exe -l file.c //返回文件 file.c 的总行 wc.exe -o outputFile.txt...
  • C语言统计文件字符数 单词 行数

    千次阅读 2017-09-19 11:45:00
    前天用java写了这个功能,今天用C语言实现了一下,有点恼火的就是判断每行字符串最后一个字符了,如果为空格的话就要特别处理一下,还要注意,记得每行时都要将 isLastBlank重置为1,而且刚刚开始时候他的值是为0....
  • 下列小程序实现了对一个文件内的字符数,单词行数的统计。 代码如下 :[root@js python]# cat wc.py #!/usr/bin/python def wordCount(s): chars = len(s) //字节 words = len(s.split()) //单词 lines ...
  • 使用字符流统计文件中包含的单词个数和行数 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.util.Scanner; public class UnicodeStatistics { public ...
  • Linux shell获得字符串所在行数及位置

    千次阅读 2019-08-16 20:32:47
    shell 获得字符串所在行数及位置 01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow good [root@root]# cat test | grep -n exe 5:exe [root@root]# cat test | ...
  • Linux系统中的wc(word count)命令功能为统计文件中的字数、字节行数...-m:统计字符数 …… 3.使用示例: 不带参数: 行数 单词 字节 文件名 详细请参考: https://www.cnblogs.com/qiyebao/p/47072...
  • 随机输入一串序列,直到#,统计其中的单词个行数字符数;代码如下 :/************************************统计输入内容中的字符数行数、单词cal_component()*************************************/void...
  • 用android 编程解析统计文本文件中的字符数、单词行数(作业) 主要代码 ... private void analysis() { String str = " "; int words = 0; int chars = 0; int lines = 0; int spaces = 0; int marks = 0; int ...
  • 用AndroidStudio解析统计文本文件中的字符数、单词行数。 代码部分: package administrator.mc; import android.os.Environment; import android.support.v7.app.AppCompatActivity; import android....
  • linux查找文件中含某字符串的行数

    千次阅读 2019-02-14 14:56:50
    查看某个文件中包含某个字符串的行数 sudo find analytics_2019-02-13.csv.51 | xargs cat | grep...字符串的总行 查看某个文件中不包含某个字符串的行数 find analytics_2019-02-13.csv.51 | xargs cat | grep ...
  • 编写一个统计字符数、单词行数的程序。 自己乱敲的版本: #include <stdio.h> int main (void) { int a = 0; int b = 1; int c = 1; char n; scanf("%c",&n); while ( n != '#') { a++; ....
  • 利用lex的工具进行词法分析程序统计字符和行数,首先我们要先去写一个lex描述文件,设置辅助定义部分,规则部分用户子程序部分,其中lex工具是一个词法分析程序的自动构造工具 lex描述文件部分如下所示 %{ ...
  • wc [options][files] $ wc -l file 输出file中的行数 $ wc -w file 输出file中的单词 $ wc -c file 输出file中的字符数 $ wc -lc test.txt 输出test.txt中的行数和字符数。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 266,972
精华内容 106,788
关键字:

如何设置字符数和行数