Будьте проще: не используйте возвращаемое значение std::cin
в качестве условия for l oop, если вы не уверены, чего ожидать. Вот простая программа, которая делает то, что вы хотите без , используя al oop. Было бы неплохо заставить эту работу внутри al oop.
#include <iostream>
#include <string>
int main(int argc, char **argv)
{
std::string lovely_str;
std::cout << "Enter a string: ";
std::cin >> lovely_str;
std::cout << "got: " << lovely_str << "\n";
return 0;
}
Если вы настаиваете на использовании своей исходной программы, вы можете использовать ctrl+d
, чтобы обозначить конец читать строки