word count

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了word count相关的知识,希望对你有一定的参考价值。

我引用的网上的代码,代码没有做太大改动,程序本身的注释再加上我注释了一点。

本篇GitHub地址:https://github.com/WQY0903/class02/tree/master

 

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<windows.h>
#define IN 1
#define OUT 0
void main() {
FILE *fp;
int length;
fp = fopen("wang.txt", "r");//打开要计数的文件
if (fp == NULL)
{
printf("can not open file");
exit(0);
}
fseek(fp, 00, SEEK_END);
length = ftell(fp);
printf("%d\n", length);//确定所要查找的文件中总字符数长度,并在屏幕中显示出来
rewind(fp);
char str[100000], c;
fread(str, sizeof(char), length, fp);//从文件中读取所有的字符到str序列
int i, num1 = 0, num2 = 0, num3, num4=0, word = OUT;
for (i = 0; (c = str[i]) != ‘\0‘; i++)
{
if (c == ‘ ‘)//判断字符中单词数
{
num2++;
word = OUT;
}
else
{
if (word == OUT)
{
word = IN;
num1++;
}
}
if ((c = str[i]) == ‘\n‘)
{
num4++;
}
}
num3 = length - num2-num4*2;//字符数
num4++;//行数
fclose(fp);
printf("空格数为%d\n", num2);
printf("单词数为%d\n行数为%d\n字符数为%d\n", num1, num4, num3);
system("pause");

}

 

该程序中主要部分已经做了一些相关注释。WC程序,该算法的程序流程大致是选定txt文件,然后读取其中的字符数加入到其中的一个数组中;然后在数组中根据for循环进行行数,字符数,单词数的计数。

 

以上是关于word count的主要内容,如果未能解决你的问题,请参考以下文章

count(*)countcount(column)的区别

countcount(*)与count(列名)的执行区别

countcount(*)count(列名)的区别

MySQL查询count(*)countcount(field)的区别收集

执行countcount(*) 与 count(列名) 到底有什么区别?

MySQL--count(*)countcount(id)count(field)比较