输入输入后C ++ cin保持在线状态

时间:2011-12-09 02:43:54

标签: c++ linux console terminal

好的我有一个生成2个整数的简单应用程序,并要求用户对它们求和并输入结果作为输入。我正在检查输入是否为整数。如果不是我想重写整行而不是只输出相同的行。例如:

提示:

2 + 2 = 

用户输入此内容并按ENTER:

2 + 2 = s

我希望在终端中有这个:

2 + 2 = 

而不是:

2 + 2 = s
2 + 2 =

我知道C ++非常抽象,没有终端的概念或输出的概念。我正在使用linux。我能以任何方式做到这一点吗?

2 个答案:

答案 0 :(得分:4)

您需要ncurses库。它专门用于通过控制台进行奇妙的操作。

答案 1 :(得分:1)

您应该可以通过打印出正确的控制字符直接在大多数终端中执行此操作。例如,如果您打印回车而不是新行,则可以将光标移回到行的开头以写入在该行上打印的内容。

然而,这取决于终端如何处理这些字符,因此您可能需要一个为这些终端特定功能提供标准接口的库,如ncurses。