2014-11-06 2 views
0

Я хотел бы выяснить, как читать целую строку (включая пробелы) с помощью std::cin. Я знаю о существовании std::getline, я бы просто хотел выяснить, как это сделать с помощью std::cin, поэтому я могу лучше понять iostream на C++. Я пробовал использовать цикл for с std::cin, однако он продолжает чтение за концом строки. Любая помощь будет принята с благодарностью.Чтение всей строки с std :: cin

+2

Вы используете 'std :: cin', когда вы вызываете' std :: getline' ... Возможно, вы имели в виду 'operator >>'? В этом случае по умолчанию пропускается ведущее значение пробела. – chris

+0

@chris Да, извините, я имел в виду с оператором, например 'std :: cin >> i;' – asdf

+2

Использование отвертки для фунта в гвоздях на самом деле не самый эффективный способ лучше понять отвертки. –

ответ

0

Также cin < < позволяет вводить только одно слово в строку. Однако есть функция cin, которая читает текст, содержащий пробелы.

std::cin.get(name, MAX); 

прибудете прочтет все символы, включая пробелы до Max символы не будут считаны или символ конца строки («\ п») достигается и поместить их в переменную имя. Вы должны решить, что такое MAX.

+0

Вы хотите, чтобы 'std :: cin.getline()' ... 'get()' оставил строку, заканчивающуюся в строке. –

Смежные вопросы