Хотя l oop ошибка с cout и cin в c ++? либо это - PullRequest
0 голосов
/ 06 мая 2020

Итак, я делал приложение для чата, а потом обнаружил ошибку, которую не мог исправить. чтобы не допустить утечки моего исходного кода, вот пример этого:

#include<iostream>
using namespace std;

int main()
{
    while (true) {
        string lol;
        cout << "you say >> ";
        cin >> lol;
    }
    return 0;
}

, поэтому ошибка возникает, когда вы вводите пробел в cin, как будто вы набираете: «привет, лол» он печатает »вы говорите >> «дважды и чем больше места вы ставите, тем больше» вы говорите >> повторяется. Я действительно не понимаю, почему это происходит. может кто-нибудь мне помочь?

1 Ответ

3 голосов
/ 06 мая 2020

Это не ошибка, это как это работает .

operator>>() вместо std::string разделяется пробелами, поэтому вы фактически получаете одно слово за раз.

Если вы хотите прочитать всю строку, используйте std::getline().

...