file — Как посчитать количество слов в каждой строке текстового файла в C ++?

Вот мой код:
http://pastebin.com/RbFYCydf

Возникли проблемы с выводом, пытаясь заставить его выглядеть так:

Там, где тротуар заканчивается Шел Сильверстейн 7 Есть место, где кончается тротуар 8 И до того, как начинается улица, 5 И там трава становится мягкой и белой, 8 И там солнце горит темно-красным, 7 И там отдыхает лунная птица от его полета 8 Остудить на ветру мяты перечной. 6 Давайте оставим это место, где дым становится черным 10 И темная улица извивается и изгибается. 7 За ямами, где растут цветы асфальта. 8 Мы пойдем с размеренной и медленной прогулкой. 11 И посмотрим, куда идут мелко-белые стрелки. 7 К месту, где заканчивается тротуар. 7 Да, мы будем идти с размеренной и медленной прогулкой, 11 И мы пойдем туда, куда идут мелко-белые стрелки, 8 Для детей, которые они отмечают, и для детей, они знают, 10 Место, где заканчивается тротуар. , 6
Общее количество слов 134

0

Решение

Есть лучший способ, чем возиться с peek:

Сначала прочитайте всю строку, используя getline,
Поместите эту строку в istringstream,
Подсчитайте слова в этом потоке.
Повторение.

Детали реализации оставлены в качестве упражнения.

1

Другие решения

Я дам вам хитрый способ сделать это должно работать очень хорошо.

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<<" ";
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector