Почему когда я ввожу string с пробелами в cin, то мне выводит только одно слово
У меня есть проблема в C++, когда я пишу два слова, например, "hello world" в cin, то когда оно выводит "hello world", там только "hello".
#include <iostream>
#include <string>
int main() {
setlocale(LC_ALL, "RU");
std::string text;
std::cout << "что вывести на экран?";
std::cin >> text;
std::cout << text;
return 0;
}
Ответы (1 шт):
Автор решения: Danila Kartovitskii
→ Ссылка
Оператор cin >> text; считывает только одно слово до пробела или символа новой строки. Таким образом, если вы вводите "Hello world", cin считывает только "Hello" и прекращает считывание при обнаружении пробела.
Вы можете использовать функцию getline() для считывания всей строки целиком:
getline(cin, text);