Можно ли запросить ввод данных пользователем и указать значение по умолчанию?


Нередко можно увидеть программу командной строки, которая предлагает пользователю ввести строку, которая будет обработана каким-либо образом программой. Но можно ли создать программу, которая делает это, и имеет значение по умолчанию уже там в приглашении - так что, если пользователь хочет использовать значение по умолчанию, им нужно только нажать Enter? (Но если пользователь хочет использовать другое значение, ему придется изменить предварительно заполненную строку , что может означать удержание backspace для ее удаления а потом набрал что-то еще.)

Условия:

  • должен работать на Windows. Ну, для моих целей он должен работать на Windows. Вы можете предложить решение, которое работает только на других ОС, если хотите, но я не приму ваш ответ.
  • Необходимо использовать только то, что предусмотрено стандартной библиотекой.
  • недостаточно просто сказать: "оставьте входные данные пустыми, чтобы использовать значение по умолчанию" - это просто обходной путь.

Я видел версии этого вопроса, которые специфичны для других языков, но не для C++.

1 2

1 ответ:

Один может сделать это, используя только стандартную библиотеку.
Но один не может сделать это только с гарантиями, предоставляемыми стандартной библиотекой.

То, что вам нужно для любого решения, - это способ управления терминалом (что подразумевает гарантию подключения к терминалу и знание особенностей управления этим терминалом.

К сожалению, окно консоли windows не является надлежащим терминалом, которым можно управлять таким образом.