抑制回声以从 cin 中取出
Suppress echo to cout from cin
>我正在尝试创建一个非常简单的聊天应用程序,其中用户键入内容(由 cin 接收(并手动回显他们的输出,但 cin 在用户按键盘上的 Enter 后自然打印到控制台。
有没有办法在用户从 cin 返回后将此回声抑制回 cout,以便我可以用自己的消息覆盖它?
前任:
int main()
{
string str;
while(true)
{
getline(cin, str)
cout << "Person: " << str << endl;
}
}
输出如下所示:
Some text I typed
Person: Some text I typed
当用户发送新线路时,第一行会自动回显到终端。这是我想压制的台词。
有什么想法吗?如果可能的话,我试图避免使用任何第三方图书馆。
据我所知,如果不使用任何第三方库,这在标准C++上是不可能的。如果您愿意使用特定于操作系统的库,那么此链接或此链接可能会有所帮助。不幸的是,这在本机C++中不是一个选项,因为由操作系统决定如何处理控制台输出(因此,例如,您需要特定于操作系统的解决方案来提供高级控制台内容,例如颜色(。
相关文章:
- C++中的cin.ignore()函数不适用于整个流
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- Problems with std::cin.fail()
- 由cin中的字符串中未捕获空白引起的分割错误
- 在C++中使用Cin,我如何在1行中输入
- 将 cin 限制为只有一个
- cin >> int 给定一个字符串将 int 赋值为 0
- istream std::cin如何修改自定义istream缓冲区
- C++ 将 CIN 值存储到任何类型的数组中
- 为什么无论你输入什么,这"while(cin.get(str,3))"只运行一次?
- cin 的十进制输入验证?
- Turbo C++ cin() 不能与 gets() 一起使用
- 使用 cin 时接受小数点后的 2 位数字
- 在 std::getline 和 std::cin 期间卡在循环中
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- 为什么我的两个 cin 语句没有在程序结束时运行?
- C++ cin.ignore() 跳过循环
- CIN是逻辑1还是0?
- 抑制回声以从 cin 中取出
- CIN函数不显示本地回声