【问题标题】:How clear a user entry in C++?如何清除 C++ 中的用户条目?
【发布时间】:2014-03-14 15:22:25
【问题描述】:

好吧,假设我有以下情况:程序要求用户输入五个字符:

Enter five characters: 

而用户只输入四个字符:

Enter five characters: four

如果是“四”,那么用户输入有多清晰?因为我知道的唯一方法是清除控制台 e 再次显示消息。

谢谢!

【问题讨论】:

  • 谷歌cursor repositioning
  • 你可以输出一个退格(假设你或他们没有输入换行符),但是因为你有愚蠢的用户,所以放弃吧,因为他们也会破坏它。
  • 在许多情况下,打印“仅输入四个字符”之类的消息可能更有帮助,并且清除他们输入的内容,这样他们就可以看到哪里出了问题

标签: c++ validation input


【解决方案1】:

您可以cout'\b'(退格字符)将光标向后移动一个位置。

例如,为了删除最后4个chars:

cout << "\b\b\b\b"; 

【讨论】:

  • 我曾想过这个,但问题是用户按下ENTER键后,这输入了一个换行符并且不可能使用退格字符来删除用户条目。感谢您的回答!
【解决方案2】:

为此创建一个解决方案:http://pastebin.com/wc6rbcT5

在这种情况下,类可以这样使用:

// Example:
int main() {
        char input[ 100 ];

        UserInput userin;
        userin.options.length = 5;
        userin.options.restrictEntry = "numbers";
        userin.run( "Enter five numbers: ", input );

        cout << input;
}

谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2012-02-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多