你如何计算C ++中文本文件每行中的单词数?

时间:2016-10-07 08:52:58

标签: c++ file line peek

这是我的代码: http://pastebin.com/RbFYCydf

输出问题试图让它看起来像这样:

人行道在Shel Silverstein的尽头7人行道的终点8在街道开始之前,5在那里,草长得柔软洁白,8在那里,太阳燃烧着深红色,7月亮在那里 - 鸟在他的飞行中休息8在薄荷风中冷却。 6让我们离开这个烟雾吹黑的地方10黑暗的街道蜿蜒曲折。 7经过沥青花生长的坑8我们将走路,测量和缓慢行走,11并观察粉笔白色箭头所在的地方7到人行道结束的地方。 7是的,我们会走路,步伐渐渐缓慢,11我们会去白垩白色的箭头去的地方,8对于孩子们,他们是标记,孩子们,他们知道10,人行道结束的地方。 6 单词总数为134

2 个答案:

答案 0 :(得分:1)

有一种比弄乱peek更好的方法:

首先使用getline读取整行 将该行放在istringstream中 计算该流中的单词。
重复。

作为练习留下的实施细节。

答案 1 :(得分:0)

我会给你一个棘手的方法,它必须工作得很好。

string s = "this is simple test"; //assume that this is the line to be calculated
int i=0,ans=0;
while (s.find(' ',i+1)!=-1){
    i = s.find(' ',i+1);
    ans++;
}
cout<<++ans<<" ";