#include <iostream>
#include <fstream>
#include <cctype>
#define is_delim(c) (std::isspace((c)) || std::ispunct((c)))
size_t count_words(std::istream& _in){
int e;
char c;
size_t n = 0, k = 0;
do {
_in.get(c);
e = _in.eof();
if(! is_delim(c) && !e)
k = 1;
else if(k){
++n;
k = 0;
}
} while(!e && !_in.fail());
return n;
}
int main(void){
//с консоли
std::cout << "count words: " << count_words(std::cin) << std::endl;
/* ввод из файла
std::ifstream fp("config.ini");
std::cout << "count words: " << count_words(fp) << std::endl;
fp.close();
*/
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8ZnN0cmVhbT4KI2luY2x1ZGUgPGNjdHlwZT4KI2RlZmluZSBpc19kZWxpbShjKSAoc3RkOjppc3NwYWNlKChjKSkgfHwgc3RkOjppc3B1bmN0KChjKSkpCgpzaXplX3QgY291bnRfd29yZHMoc3RkOjppc3RyZWFtJiBfaW4pewoJaW50ICAgIGU7CgljaGFyICAgYzsKCXNpemVfdCBuID0gMCwgayA9IDA7CglkbyB7CgkJX2luLmdldChjKTsKCQllID0gX2luLmVvZigpOwoJCWlmKCEgaXNfZGVsaW0oYykgJiYgIWUpCgkJCWsgPSAxOwoJCWVsc2UgaWYoayl7CgkJCSsrbjsKCQkJayA9IDA7CgkJfQoJfSB3aGlsZSghZSAmJiAhX2luLmZhaWwoKSk7CglyZXR1cm4gbjsKfQoKaW50IG1haW4odm9pZCl7CgkvL9GBINC60L7QvdGB0L7Qu9C4CglzdGQ6OmNvdXQgPDwgImNvdW50IHdvcmRzOiAiIDw8IGNvdW50X3dvcmRzKHN0ZDo6Y2luKSA8PCBzdGQ6OmVuZGw7CgovKiAg0LLQstC+0LQg0LjQtyDRhNCw0LnQu9CwCglzdGQ6Omlmc3RyZWFtIGZwKCJjb25maWcuaW5pIik7CglzdGQ6OmNvdXQgPDwgImNvdW50IHdvcmRzOiAiIDw8IGNvdW50X3dvcmRzKGZwKSA8PCBzdGQ6OmVuZGw7CglmcC5jbG9zZSgpOwoqLwoJcmV0dXJuIDA7Cn0=
0JLQvtC+0LHRidC10Lwg0Y3RgtCwINC/0YDQvtCz0YDQsNC80LzQsCDQstGL0LLQvtC00LjRgiDRgtC10LrRgdGCINC40Lcg0YTQsNC50LvQsCDQvdCwINGN0LrRgNCw0L0uINCYINC80L3QtSDQvdCw0LTQviDQv9C+0LTRgdGH0LjRgtCw0YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQstGL0LLQtdC00LXQvdC90YvRhSDRgdC70L7QsizQutCw0Log0Y3RgtC+INGB0LTQtdC70LDRgtGMPw==
Вообщем эта программа выводит текст из файла на экран. И мне надо подсчитать количество выведенных слов,как это сделать?