Разделите ваш input
поток на строки
std::string line;
while (std::getline(input, line))
{
// process each line here
}
Чтобы разбить строку на слова, используйте поток строк:
std::istringstream linestream(line); // #include <sstream>
std::string word;
while (linestream >> word)
{
// process word
}
Вы можете повторить это для каждого слова, чтобы решить, содержит ли оно число. Поскольку вы не указали, являются ли ваши числа целыми или нецелыми, я предполагаю int
:
std::istringstream wordstream(word);
int number;
if (wordstream >> number)
{
// process the number (count, store or whatever)
}
Отказ от ответственности: этот подход не идеален. Он будет обнаруживать «цифры» в начале слов, таких как 123abc
, он также разрешит формат ввода, такой как string 123 string
. Также этот подход не очень эффективен.