Подавить эхо Cout от CIN - PullRequest
       2

Подавить эхо Cout от CIN

0 голосов
/ 24 сентября 2019

Я пытаюсь создать очень простое приложение для чата, в котором пользователь вводит что-то (полученное от cin), и я отображаю их вывод вручную, но cin естественно печатает на консоли после того, как пользователь нажимает клавишу ввода на клавиатуре.

Есть ли способ подавить это эхо обратно в cout после того, как пользователь вернется из cin, чтобы я мог переопределить его своим собственным сообщением?

Пример:

int main() 
{
    string str;
    while(true) 
    {
         getline(cin, str)
         cout << "Person: " << str << endl;
    }
}

Вывод выглядит следующим образом:

Some text I typed
Person: Some text I typed

Первая строка автоматически возвращается в терминал, когда пользователь отправляет новую строку.Это линия, которую я хотел бы подавить.

Есть идеи?Я стараюсь избегать использования любой библиотеки от третьего лица, если это возможно.

1 Ответ

1 голос
/ 24 сентября 2019

Насколько я знаю, это невозможно на стандартном C ++ без использования сторонних библиотек.Если вы хотите использовать специальные библиотеки ОС, то эта ссылка или эта может помочь.К сожалению, это не вариант в нативном C ++, потому что именно ОС должна решить, как он будет обрабатывать вывод консоли (следовательно, почему, например, вам нужны специфичные для ОС решения для продвинутых вещей консоли, таких как цвета).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...