【问题标题】:Console input - clearing after pressing enter控制台输入 - 按下回车后清除
【发布时间】:2012-12-28 19:17:45
【问题描述】:

我需要一种跨平台的方式来处理这个问题:

当我在“cin”行中按回车键时,我希望它清除所有已处理的内容,包括换行符。

有可能吗?还是我需要找到一些跨平台的 getch() 实现并这样做?

【问题讨论】:

  • 请解释一下“清除所有已处理的内容”是什么意思。这对不同的人可能意味着不同的事情。
  • 清除输入的文本和按回车输入的换行符。
  • 我认为归结为getch()(== POSIX 标准)。这就是为什么我在您的last question 中询问您实际使用的操作系统的原因。实际上有(至少部分)适用于 linux 和 windows 的 POSIX 兼容实现(对于 ncurses 也是如此)。我还看到了 getch() 在 Windows 中不推荐使用的提示,应该改用 _getch()
  • 你的意思是,像基于终端的 IRC 聊天?你输入你的文字,点击“回车”,你的消息区域变干净了吗?
  • @Thiago Negri 就是这样。

标签: c++ input stream console cross-platform


【解决方案1】:

我能看到的唯一跨平台方式是完全放弃标准输入和输出流,并使用类似ncurses(具有 Windows 端口)之类的东西。

它可以直接处理读取键,有或没有回显,并且可以清除屏幕。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 2019-08-25
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多