【问题标题】:I don't want to step out to the newline after using std::cin我不想在使用 std::cin 后跳到换行符
【发布时间】:2012-04-14 00:30:56
【问题描述】:

我正在写一个带有一些终端轮廓的简单名称。但是当我使用cin 获得输入时,我的边框就乱了。通过cin输入输入后有什么办法可以防止换行吗?

我正在使用 XCode 4。

【问题讨论】:

  • 阻止换行是什么意思?
  • 比如我用cin的时候>> myInput; , 输入我的输入后跳到新行。输入我的输入后,它与 endline 做同样的事情,不希望它发生。
  • 您不需要在输入后按回车键。只需在输入后给一个空格,然后继续下一个输入。 cin 在遇到空格后终止输入。
  • 除了通常cin 指令在检测到换行符或EOF 时结束。尝试通过键盘发送 EOF(在 Linux 中为 ctrl+d),它应该保持在同一行。

标签: c++ xcode newline cin


【解决方案1】:

如果您想完全控制终端显示,您可能需要使用curses 库或类似的库(例如,GNU 系统上的ncurses)。这允许您控制字符的显示并在输入过程中抑制字符的自动回显,因此不会有任何换行符。但是,您也不会再使用stdin::cin

使用std::cin 意味着您必须接受您的程序在输入换行符之前看不到任何数据,并且终端通常会在该点滚动。 (并非总是如此;如果当前行位于屏幕顶部附近,则不会滚动。)

【讨论】:

    猜你喜欢
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多