С этой точки зрения консоль во многом является эмуляцией классического оконечного устройства. Первоначально Curses был создан для поддержки способа выполнения общих операций с различными типами терминалов, где пользователь может выбрать фактический используемый терминал как часть последовательности входа в систему. Это наследие сохранилось до наших дней.
Библиотека ncurses предоставляет функции для вызова для непосредственного позиционирования курсора и вывода текста, и, как известно, она работает для консоли Windows (где запускается CMD.EXE), а также для различных эквивалентов * nix-платформ, таких как XTerms и подобное, аналогичное, похожее. Вероятно, он даже работает с настоящим декабрьским VT100 по последовательной линии, если у вас была такая вещь ...
Экранирующие последовательности, понятные VT100 и более поздним моделям, стали основой для стандартного терминала ANSI. Но вы действительно не хотите знать об этом. Используйте ncurses, и вам не придется.
Опираясь на conio, вы не получите кроссплатформенность, так как это специфичный для DOS / Windows API.
Редактировать: Очевидно, что сама библиотека ncurses не так-то просто построить на Mingw, по крайней мере, как это было видно из быстрой попытки Google ее найти. Однако, еще не все потеряно, так как ncurses - только один из потомков оригинальной библиотеки curses .
Другим является PDCurses , который является известным для компиляции и запуска для консолей Windows, а также для X11 и множества * nix-платформ.
(мне только что напомнили из погони за ссылками в Википедии, что проклятия возникли из-за написания игры-мошенника, которая является прародителем nethack. Часть ее кода была "заимствована" из модуля управления курсором редактора vi Так что использование в nethack source kit идей не может быть сумасшедшей идеей ...)