Построчное чтение из файла и подсчет слов в каждой строке

необходимо написать программу, которая считывает текст из файла(3-4 строки) и в каждой строке считает количество строк. результат должен выглядеть примерно так: строка 1: 4 слова, строка 2:2 слова. Всю голову уже сломала. но могу посчитать только пробелы или строки.


Ответы (1 шт):

Автор решения: Maggot

Читайте файл по строкам через std::getline. и считайте слова через std::istream_iterator получите кол-во слов Вот код:

#include <iostream>
#include <fstream>
#include <string>
#include <filesystem>
#include <iterator>

std::size_t WordCountLine(std::string& line) {
  std::stringstream stream(line);
  return std::distance(std::istream_iterator<std::string>(stream), std::istream_iterator<std::string>());
}

int main() {
  std::filesystem:: path file{"text"};
  std::ifstream in(file);
  std::string line;
  std::size_t i{0};
  while (++i, std::getline(in, line)) {
    std::cout << " line: " << i << " word count : " << WordCountLine(line) << std::endl;
  }

  return 0;
}
→ Ссылка