Получение пространства для приятной игры с входными потоками C ++ - PullRequest
1 голос
/ 26 октября 2010

Сначала рассмотрим этот пример кода C ++:

std::string input1, input2, input3;
std::cout << "Enter Input 1: ";
std::cin >> input1;
std::cout << std::endl << "Enter Input 2: ";
std::cin >> input2;
std::cout << std::endl << "Enter Input 3: ";
std::cin >> input3;

Если для input1 я ввожу что-то вроде «Доброго времени суток для соседей», то для input1 устанавливается значение «Good», для input2 устанавливается значение «day», а для input 3 - «соседей». Мне даже не дали возможность установить значения для input2 и input3.

Итак, мой вопрос: как я могу ввести строку текста, включающую пробелы, в одну строку, чтобы она (из-за отсутствия лучшей терминологии) не разбивалась и не переполнялась при последующих вызовах входного потока?

Заранее благодарим за все полученные ответы.

1 Ответ

7 голосов
/ 26 октября 2010

Вы можете использовать std::getline:

std::getline(std::cin, input1);
...
std::getline(std::cin, input2);
...
std::getline(std::cin, input3);
...