Считать количество строк, слов, символов из файла - PullRequest
0 голосов
/ 15 апреля 2011

Я могу легко прочитать количество строк, используя:

ifstream in(file);
string content;
while(getline(in, content))
{
   // do stuff
}

Или я могу легко прочитать количество слов и символов, используя что-то вроде:

ifstream in(file)
string content;
int numOfCharacters = 0;
int numOfWords = 0;
while(in >> content)
{
   ++numOfWords;
   numOfCharacters += content.size();
}

Но я нехочу прочитать файл дважды.Как я могу прочитать файл один раз и узнать количество строк, слов и символов?

PS: Я бы приветствовал форсирование, если есть простой способ.
Спасибо.

Ответы [ 3 ]

1 голос
/ 15 апреля 2011

Это можно сделать с помощью тривиального повышения . spirit . qi синтаксического анализатора.

1 голос
/ 15 апреля 2011

Придерживаясь решения iostreams: вы можете создавать strstream из каждой строки, считываемой через getline (), и выполнять над ней операции подсчета слов / символов, накапливая по всем строкам.

1 голос
/ 15 апреля 2011

Прочитайте строку и для каждой строки посчитайте слова. См. Stringstream для второй части.

(я не даю больше информации, это слишком похоже на домашнюю работу).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...