Для getline
легко, как это предлагают другие ответы:
string line;
while(getline(cin,line))
{
if (line.empty())
break;
file.push_back(line);
}
Но для cin objects
, я нашел способ без необходимости использовать какой-либо ломающий символ . Вы должны использовать одну и ту же переменную, чтобы заклинать все объекты. После использования вам нужно установить значение выхода по умолчанию. Затем проверьте, совпадает ли ваша переменная после следующего cin. Пример:
string o;
while(true){
cin>>o;
if (o.compare("tmp")==0)
break;
// your normal code
o="tmp";
}