Как вы можете видеть на u413.com: текст появляется на экране буква за буквой, что выглядит круто,
Я хочу сделать то же самое в Консоли
Я получил исходный код версии 1.2; потому что мне не нужна вся сложность версии 2; Мне просто нужна простая командная строка с текстом, который появляется на экране буква за буквой. Мне не нужны большинство встроенных функций, предлагаемых консолью, таких как прозрачность, значок панели задач и т. д.
База исходного кода довольно мала, всего около 5 файлов.
Основной файл класса выглядит как Console.cpp;
Поскольку консоль похожа на приложение с графическим интерфейсом, данные не записываются в STDOUT.
Но вот что происходит;
Вызывается дескриптор; И этот дескриптор, по-видимому, пишет в консоль;
m_hStdOut = ::GetStdHandle(STD_OUTPUT_HANDLE);
Теперь, что я хочу уметь делать; Как-то читается ручка; посмотреть, какой у него текст; И добавьте в цикл метод ::Sleep(20); чтобы убедиться, что текст отображается буква за буквой.
@Alf P. Steinbach Я написал код psuedo для создания команды sleep (в java). Я также использовал его во всех других написанных мной java-программах, но недостатком было то, что он будет работать только для моих программ, а не для каждой запускаемой программы. в командной строке, но чего я не знаю, так это кода для создания консоли, программы подсистемы консоли Windows, я бы хотел, чтобы это было возможно с java, чтобы я мог использовать его и в Linux, но теперь позвольте мне спросить вас, что именно Я имел в виду...
Программа, которая просто принимает ввод с экрана, отправляет его в cmd.exe для обработки и отправляет ответ, и все, что мне нужно сделать, это добавить команду сна между каждым символом...
Все, что мне нужно, это помощь, чтобы сделать это, я бы хотел, чтобы вы могли начать меня с этого и, возможно, предоставить ссылки и ссылки, чтобы это сделать...
1 ответ
Этот Console.cpp выглядит как эмулятор консоли, то есть запускает ДРУГИЕ программы. Вам не нужен исходный код, вы можете запускать существующие консольные приложения.
STD_INPUT_HANDLE, STD_OUTPUT_HANDLE и STD_ERROR_HANDLE — это дескрипторы окон для STDIN, STDOUT и STDERR. В основном они делают то же самое, только с некоторыми отличиями в том, как их использовать.
Если вы хотите интегрировать консоль в свой код, вам нужно понять ее, найти ее собственную функцию вывода и вызвать ее. Но это не будет какая-то стандартная ручка или что-то в этом роде.
Похожие вопросы
Новые вопросы
c++
C++ — это язык программирования общего назначения. Изначально он разрабатывался как расширение C и имел аналогичный синтаксис, но теперь это совершенно другой язык. Используйте этот тег для вопросов о коде, который будет скомпилирован с помощью компилятора C++. Используйте тег версии для вопросов, связанных с конкретной стандартной версией [C++11], [C++14], [C++17], [C++20] или [C++23]. и т.д.
ReadConsole
. Для вывода вы можете использовать функциюWriteConsole
. И используйтеSleep
, чтобы заснуть. Ура и чт.,