fork download
  1. #include <iostream>
  2. #include <fstream>
  3. #include <cctype>
  4. #define is_delim(c) (std::isspace((c)) || std::ispunct((c)))
  5.  
  6. size_t count_words(std::istream& _in){
  7. int e;
  8. char c;
  9. size_t n = 0, k = 0;
  10. do {
  11. _in.get(c);
  12. e = _in.eof();
  13. if(! is_delim(c) && !e)
  14. k = 1;
  15. else if(k){
  16. ++n;
  17. k = 0;
  18. }
  19. } while(!e && !_in.fail());
  20. return n;
  21. }
  22.  
  23. int main(void){
  24. //с консоли
  25. std::cout << "count words: " << count_words(std::cin) << std::endl;
  26.  
  27. /* ввод из файла
  28. std::ifstream fp("config.ini");
  29. std::cout << "count words: " << count_words(fp) << std::endl;
  30. fp.close();
  31. */
  32. return 0;
  33. }
Success #stdin #stdout 0s 3460KB
stdin
Вообщем эта программа выводит текст из файла на экран. И мне надо подсчитать количество выведенных слов,как это сделать?
stdout
count words: 19