Первый символ std :: cout обрезается через некоторое время (std :: cin << num), исправить? - PullRequest
0 голосов
/ 25 марта 2019

Я запускаю пример из книги C ++ Primer Стенли Б. Липпмана, в 1.4.1:

#include <iostream>
int main()
{
    int sum = 0, value = 0;
    // Read until end-of-file, calculating a running total of all values read.
    std::cout << "Enter values: "; std::cout.flush();
    while (std::cin >> value)
    {
        sum += value;
    }
    std::cout << "Sum is: " << sum << std::endl;
    return 0;
}

Я использую последний компилятор GNU. После ввода значений я нажимаю CTRL + ALT + D на git bash. Хотя все кажется в порядке, std::cin, кажется, потребляет "S" в "Sum is:" в выводе.

Enter values: 5 4 3
um is: 12

Очевидное решение - добавить std::cout << "l"; std::cout.flush(); непосредственно после цикла while, но я ищу решение, которое не заставляет меня печатать бессмысленный код.

...