统计一个文件的单词的个数

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
ifstream infile;
string filename;
cout << "请输入文件名:(注意要带扩展名的,如data1.txt) ";
cin >> filename;
infile.open(filename.c_str());
string line;
size_t even_sum = 0;
size_t odd_sum = 0;
while (getline(infile, line, '/n'))
{
string word;
std::istringstream Line_in(line);
while(Line_in>>word)
{
if(word.length()%2)
++even_sum;
else
++odd_sum;
}
}
infile.close();
cout<<"the sum of even number is:"<<even_sum<<endl<<"the sum of odd number is:"<<odd_sum<<endl;
cout<<"the total sum is:"<<even_sum+odd_sum<<endl;
system("pause");
return 0;
}

//#include <stdio.h>
//void main()
//{
// int num=0,i=0;//num用于统计单词个数
// char str[100],c;//str[100]用存储输入的字符
// printf("请输入一个字符串:");
// gets(str);//获取输入的字符,存放在str[100]数组中
// do{
// while((c=str[i])==' ')
// i++;//去掉第一个单词前的空格
//
// if(c!='/0')
// num++;//统计单词的个数
//
// while((c=str[i])!=' '&&c!='/0')
// i++;//去掉每个单词之间的空格
// }while(c!='/0');//判断是否为空格
//
// printf("单诩的个数为:%d/n",num);
//
//} 

时间: 2024-11-01 14:50:42

统计一个文件的单词的个数的相关文章

统计一个文件的单词的个数(2)

  上一个程序的效率太低了,统计一个5M的文件就3S以上,改进后,1S左右, 但是效率还是不行,用C写的比这个快多了,200ms.只是fgets()函数有点问题. 用intel的工具分析,是在getline()这个函数里花了大部分时间.悲剧的C++   #include <iostream> #include <fstream> #include <sstream> #include <string> #include <windows.h> #

用C语言实现统计一个文件夹中各种文件的比例

原文:用C语言实现统计一个文件夹中各种文件的比例 <UNIX环境高级编程>中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文地址:在linux下用C语言实现递归查看某个目录中的所有文件[CSDN]! 今天做<Unix环境高级编程>的课后题,看到题目4.11这里提供了一种新的实现这个程序的思路,那就是每回读到一个目录,就通过chdir函数进入到这个目录,然后再通过open

如何统计一个文件夹里每个文件的代码行数

问题描述 麻烦大家指点一下,给点思路,我对C#还不是太熟.题目是这样的.用C#设计一个小程序,统计一个文件夹里(包括子文夹)每个文件的LinesofCode.假设文件夹里仅有*.js,*.html,*.css等程序文件(无图片等多媒体文件).如何显示出每个文件的路径以及程序里的代码行数.某公司的面试题,周一就要交货,唉~太急了.麻烦大家帮帮忙.谢谢了. 解决方案 解决方案二:显示文件路径C#里面有File,FileInfo,DirectoryInfo这几个类,你去看看显示文件行数:可以用File

Linux统计文件中指定字符串个数的2种方法

  统计一个文件中某个字符串的个数,其实就像在一块沙地里面找一块石头,有的人看到石头以后,在上面做个标记(grep),然后记住自己做了多少个标记;有的人看到石头以后,把它跳过去(awk),然后统计自己跳了多少次. 方法1: grep 代码如下: grep -o 'keyword' my_file.txt | wc -l 方法2: awk 代码如下: awk -v RS='keyword' 'END {print –NR}' my_file.txt

Linux下统计当前文件夹下的文件个数、目录个数_linux shell

1) 统计当前文件夹下文件的个数 复制代码 代码如下: ls -l |grep "^-"|wc -l 2) 统计当前文件夹下目录的个数 复制代码 代码如下: ls -l |grep "^d"|wc -l  3) 统计当前文件夹下文件的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^-"|wc -l  4) 统计文件夹下目录的个数,包括子文件夹里的 复制代码 代码如下: ls -lR|grep "^d"

编程-怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同)

问题描述 怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同) 怎么才能把一个文件夹内的文件重命名为另一个文件夹里的文件名(两个文件夹内的文件个数相同) 本来是想用 api之类的 但是没有开放 不能用 就想着直接去读取使用的文件了 一种是 在 文件夹A中 找到一个a1.* 然后直接把文件夹B的 b1.*重命名为a1.* 另一种是 获取文件夹A中的所有文件的文件名列表写入到一个文档中 再给B中的文件逐一重命名 [本人水平比较次 所学过的太基础 网上也找到了一些

数据结构算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数。

问题描述 数据结构算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数. 算法设计: 请设计一个算法,统计一个循环单链表L中的结点个数. 解决方案 int n = 0; while (L != NULL) { L = L->next; n++; } 解决方案二: /* counts the nodes in the list / int fuc(struct list head) { void *tmp; int i; if(!head) return -1; for(i = 1, tm

javaee-初学者有关IO流统计成绩到另一个文件的问题

问题描述 初学者有关IO流统计成绩到另一个文件的问题 编写一个程序RecordScore.java用来记录某课程的成绩,要求从键盘输入学生姓名和成绩,每行输入一个学生的成绩,输入end#表示输入结束.程序要统计出课程的平均成绩,并将输入的学生成绩和平均成绩保存到soor.txt文件.(提示:字符串的方法 split(" ")可以返回字符串中以空格分割的字符串数组.如str="张三 80";String[] s= str.split(" ");则s

如何统计CS文件中公有类,私有类,受保护类的个数?

问题描述 1.如何统计CS文件中公有类,私有类,受保护类的个数?并同时统计出每个类的代码行数?2.publicclassA{publicclassB{}}这种情况只对A计数一次 解决方案 解决方案二:统计的前提是代码可以正确编译先用CSharpCodeProvider编译成Assembly然后反射出你要统计的类解决方案三:没有人知道吗??