在c ++中提示可编辑的默认值?

时间:2009-07-09 13:35:15

标签: c++ user-interface

是否可以(没有外部库,如boost)提示用户输入,例如使用cin,但是默认选项可由用户编辑(没有GUI)?

例如,程序会说:

Give your input: default

并且用户可以按Enter键使用“默认”或按1然后输入以获取“default1”等。

编辑澄清:

我目前在我的程序中提供的是提示中的默认值(如下面的答案之一)。但我正在编写非常特殊的情况,其中具有可编辑的默认值非常节省时间(并且90%的时间,所有用户需要为默认添加后缀)。我只能提示输入后缀,但是在其他10%的情况下我失去了编辑默认值的灵活性。

3 个答案:

答案 0 :(得分:4)

您可能想要使用GNU readline

答案 1 :(得分:3)

这通常与您描述的略有不同。它是相当常见的(至少我已经看到)将默认选项显示为提示的一部分而不是它之后。例如:

Please enter a year (default: 2009):

Do you really want to exit (N):

这具有额外的优势,如果用户 想要输入他/她自己的值而不是默认值,他/她不需要删除现有值以便这样做,这是一个糟糕的可用性和相当令人沮丧的,特别是如果处理一系列的问题/提示。

它也不需要特殊的库,也不需要额外的代码。

答案 2 :(得分:0)

没有外部库不容易。所有终端都以不同的方式处理 - 除非您想编写 lot 代码,否则您需要一个库。我建议你研究一下Ncurses