Почему я не могу найти <conio.h> в Linux?

Возможный дубликат:
Как реализовать функцию getch() C в Linux?

Что является эквивалентом Linux версия conio.h заголовочный файл из MS-DOS?

Есть ли способ заменить его функциональность? напримерgetch()

я использую gcc и текстовый редактор Geany составить C код.

4 ответа

Решение

conio.h это C заголовочный файл, используемый в старых компиляторах MS-DOS для создания текстовых пользовательских интерфейсов. Компиляторы, предназначенные для операционных систем без DOS, таких как Linux, Win32 и OS/2, обеспечивали различные реализации этих функций.

#include <curses.h> даст вам почти все функции, которые были предоставлены в conio.h

нукеры должны быть установлены в первую очередь

В Deb на основе дистрибутивов использовать

sudo apt-get install libncurses5-dev libncursesw5-dev

И в основанных на rpm дистрибутивах

sudo yum install ncurses-devel ncurses

За getch() класс функций, вы можете попробовать это

Оригинальный conio.h был реализован Borland, поэтому он не является частью стандартной библиотеки C и не определяется POSIX.

Но вот реализация для Linux, которая использует ncurses для выполнения этой работы.

Это потому, что это не существует, так как он привязан к Windows.

Используйте стандартные функции из <stdio.h> вместо этого, например, getc

Предлагаемая библиотека ncurses хороша, если вы хотите писать консольные графические интерфейсы, но я не думаю, что это то, что вам нужно.

Популярной библиотекой Linux, имеющей аналогичную функциональность, будут ncurses.

Другие вопросы по тегам