تنها راهی که شما بتونین متغیرهایی از جریان ورودی بخونید، اینه که از حلقه استفاده کنید. و به نظر میاد ()std::getline بهتر کار کنه:
std::string line;
while (std::getline(std::cin, line))
{
std::cout << line << std::endl;
}
()getline بصورت پیش فرض تا خط جدید میخونه. شما میتونید یک کارکتر مشخصی رو مشخص کنید که تا اونجا بخونه ولی EOF به تنهایی یک کارکتر نیست پس نمیتونید فقط با یک بار استفاده از getline تا انتهای ورودی رو بخونید.