是否可以提示用户输入并提供默认值?

时间:2015-01-20 23:18:57

标签: c++ command-line-tool

通常会看到一个命令行程序提示用户输入要由程序以某种方式处理的字符串。但是有可能创建一个执行此操作的程序,并且在提示符处已经存在默认值 - 因此,如果用户想要使用默认值,他们只需要按Enter键吗? (但是如果用户想要使用不同的值,他们将不得不设置编辑预先填充的字符串 - 这可能意味着按住退格键删除它然后键入其他内容。)

附带条件:

  • 需要在Windows上工作。好吧,为了我的目的,它需要在Windows上工作。如果您愿意,可以建议仅适用于其他操作系统的解决方案,但我不接受您的回答。
  • 只需使用标准库提供的内容。
  • 仅仅说“将输入留空以使用默认值”是不够的 - 这只是一种解决方法。

我看过这个问题的版本是针对其他语言的,但不是针对C ++的。

1 个答案:

答案 0 :(得分:2)

一个可以仅使用标准库来执行此操作 但只有不能只使用标准库提供的保证。

对于任何解决方案,您需要拥有的是一种控制终端的方式(这意味着保证连接到终端,以及控制所述终端的特性的知识。

不幸的是,Windows控制台窗口不是一个合适的终端,可以通过这种方式进行控制。