2015-05-27 3 views
1

Извините, это может быть простой вопрос, но я не могу найти решение этого. У меня есть консольное приложение, которое имеет несколько параметров. Я показываю информацию об использовании, как правильно использовать приложение, но поскольку я должен объяснить каждый параметр, он очень длинный. Все использование не будет входить в консольное окно.Как показать длинную информацию об использовании с сообщением «Нажмите любую клавишу, чтобы продолжить»?

Так как же я могу отображать только то, что зависит от использования, которое соответствует размеру фактического окна?

Хороший пример: cmd. Если вы откроете командную строку, а затем введите cmd /?, информация об использовании будет показана, но будет показана только та часть использования, которая будет соответствовать размеру фактического окна, а затем ждет нажатия клавиши. Если окно мало, вам нужно нажать клавишу 7 раз. Но если вы сделаете консольное окно больше, вам нужно нажать клавишу меньше.

Итак, мой вопрос, как я могу достичь этого?

+0

Запрос 'Press any key to continue 'может запускаться с' system ("pause") '. Откройте 'cmd.exe', введите' pause' и посмотрите, что произойдет. – szczurcio

+0

Показывать общие параметры только с '/?' И полную помощь с '/? topic1', '/? topic2' и т. д. – usr2564301

+0

@szczurcio: Я знаю это, но я предполагаю, что это поведение выполняется как-то иначе, так как если размер окна изменится, сообщение будет отображаться меньше. – kampi

ответ

0

Я не знаю , как вы его выполнили, но то, что вам нужно, это pager.

Я не проверял, но here это говорит команда more доступна в MS-DOS и большинство версий Windows (Windows 95, 98, ME, NT, 2000, XP, Vista, 7 & 8).

Если вы работаете в автономном режиме, вы можете сделать echo some-long-text | more. Я не знаю, как вы использовали бы это из своей собственной программы, но это должно быть так (я полагаю, что для запуска команды должно быть что-то вроде POSIX system()).