Аналог conio h linux

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Implementation of conio.h from ms-dos based compilers for linux systems

License

casualsnek/linuxconio

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

«conio.h» implementation for Linux

This is the implementation of «conio.h» from ms-dos based C compilers for linux/*nix systems

Why use «conio» on linux instead of «curses» or other libraries

  • Because my college forces me to use «conio» library (which is not available on linux) and i have to make sure the code i write runs on my teacher’s computer too.
  • Yes, this is the only reason

Installation is done by copying «conio.h» file to location where compiler looks for header files Or keeping «conio.h» in same directory as your code and using #include «conio.h» instead of #include

On most systems it can be installed by running following commands in terminal emulator

$ git clone https://github.com/casualsnek/linuxconio $ cd linuxconio $ sudo cp conio.h /usr/include/conio.h

Restart your IDE if you are using one and use it as you normally would

You can check if it is working properly after installing by compilling and running «testconio.c» using following commands:

$ gcc testconio.c -o testconio $ ./testconio

May not be exact to windows «conio.h» but mostly seems to work in similar ways

  • showcursor
  • nocursor
  • cagxy
  • gotox
  • gotoxy
  • clrscr
  • kbhit
  • textbackground
  • textcolor
  • getch
  • getche
  • clreol
  • delline
  • cprintf
  • cscanf
  • cputs
  • cgets
  • wherex
  • wherey
  • getpass

You can help by adding support for missing functions or improving the already existing ones. Please star this repository if you find ths useful

Читайте также:  Виртуалка виндовс на линукс

About

Implementation of conio.h from ms-dos based compilers for linux systems

Источник

conio.h

где можно скачать библиотеку conio.h под линукс? с компилятором g++ не шла. Я все пакеты связанные с с++ установил а библиотеку не нашёл. Пытался скопировать её из BORLAND но она не работает.
conio.h вообще для linux есть? . Мне и нужна то только функция getche() .
Вообщем: где найти эту библиотеку рабочую или библиотеку с функцией похожей на getche()

Альтернатива conio.h
Добрый день. Сегодня установил себе Kubuntu 10.04 решил проверить как здесь с компилятором g++/gcc.

Conio.h и Linux
Всем большой прибольшой привет))) Хотелось бы поставить на второй комп Linux, но проблемма в том.

Аналог conio.h в netbeans 6.8
Всем коллегам доброго времени суток.Совсем недавно решил потестить netbeans 6.8 и столкнулся с.

Установка библиотеки conio.h.
Доброго времени суток! Возникла такая проблема. Нужно подключить библиотеку conio.h в ubuntu.

Эксперт С++

В Linux будет построчное чтение и с отображением символов
Функция getch() на самом деле будет все равно печатать все символы

то есть сначала ты наберешь целую строку символов, потом ENTER
и только потом getch() будет получать символы из буфера

Добавлено через 1 минуту
А conio.h есть только под Windows насколько я знаю

ЦитатаСообщение от odip Посмотреть сообщение

В Linux будет построчное чтение и с отображением символов
Функция getch() на самом деле будет все равно печатать все символы

то есть сначала ты наберешь целую строку символов, потом ENTER
и только потом getch() будет получать символы из буфера

Добавлено через 1 минуту
А conio.h есть только под Windows насколько я знаю

неужели нет эквивалентной функции для linux? . В BORLAND C getch() работала как нужно.
То есть ждала ввода ОДНОГО символа и записывала результат без кнопки ENTER. Мне именно это и нужно. Нужно чтоб программа обрабатывала каждую клавишу без кнопки ENTER. Так же как и в паскале функция readkey; .Такая обязательно должна быть и в си ++ под линукс.

Эксперт С++

Ну так это Linux-терминал не дает
Это он делает построчное чтение !

Что-то было насчет того как переключить терминал в посимвольное чтение
но я не помню где

В ncurses точно должно быть что-то такое

Эксперт С++

polimorf96, чтоб терминал в линукс работал так, как ты хочешь — нужно отключить канонический режим. я приводил пример посимвольного чтения терминала без ожидания ENTER. поищи в этом разделе..

Эксперт С++

Я тут порылся — в ncurses есть функция getch().
Она работает правильно — то есть делает чтение только одного символа с отображением его

нужно только #include сделать

Эксперт С++

ЦитатаСообщение от odip Посмотреть сообщение

ЦитатаСообщение от niXman Посмотреть сообщение

ну посмотрел я пример. И зачем мне прописывать в исходнике:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
#include #include #include #include #include  struct TerminalOpt { TerminalOpt() { termios new_settings; tcgetattr(0,&stored_settings); new_settings = stored_settings; new_settings.c_lflag &= (~ICANON); new_settings.c_cc[VTIME] = 0; new_settings.c_cc[VMIN] = 1; tcsetattr(0,TCSANOW,&new_settings); } ~TerminalOpt() { tcsetattr(0,TCSANOW,&stored_settings); } termios stored_settings; }; int main() { { TerminalOpt term; // в этом блоке, отключен канонический режим. } // в этом включен. return 0; }

когда можно включить ncurses.h иными словами говоря -зачем изобретать велосипед?
Мне просто нужны была библиотека эквивалентная conio.h

Добавлено через 4 минуты

ЦитатаСообщение от odip Посмотреть сообщение

Я тут порылся — в ncurses есть функция getch().
Она работает правильно — то есть делает чтение только одного символа с отображением его

нужно только #include сделать

Эксперт С++

ЦитатаСообщение от polimorf96 Посмотреть сообщение

вы явно не понимаете «что творите».
дело в том, что ncurses не является стандартом. и используя ее, вы обрекаете свой код во веке зависеть от нее

ЦитатаСообщение от niXman Посмотреть сообщение

вы явно не понимаете «что творите».
дело в том, что ncurses не является стандартом. и используя ее, вы обрекаете свой код во веке зависеть от нее

может и не понимаю. я вообще если честно пока мало что понимаю язык изучаю не так давно.
Вот например я опять не понимаю какая «опастность» в моём коде если я включу ncurses.h ?
помоему обычный заголовочный файл такой же как и iostream.h или match.h . В чём опастность—.

Добавлено через 3 минуты
ни Р.Лафоре ни Т.А.Павловская не писали о «опастности включения библиотек и заголовочных файлов»

Эксперт С++

ЦитатаСообщение от polimorf96 Посмотреть сообщение

не обычный.
ncurses — сторонняя библиотека. она не входит в комплект поставки компилятора.

ЦитатаСообщение от polimorf96 Посмотреть сообщение

ЦитатаСообщение от niXman Посмотреть сообщение

не обычный.
ncurses — сторонняя библиотека. она не входит в комплект поставки компилятора.

гавённые авторы. как и их книжки

получается, что все сторонние библиотеки не рабочие? смишно.

А каких же авторов вы предпочитаете? Ну и не такие уж они и гавяные. Ну ладно павловска может не очень но Р.Лафоре мне очень понравилась книга.

Эксперт С++

ЦитатаСообщение от polimorf96 Посмотреть сообщение

Эксперт С++

niXman, в состав компилятора вообще мало чего входит
ncurses — достаточно стандартная библиотека для Linux/UNIX

#include
Вот это кстати не более стандартно чем ncurses, учитывая то что ncurses — это просто обертка поверх интерфейса терминалов !

ЦитатаСообщение от niXman Посмотреть сообщение

видимо мне что-то обьеснять -безполезно.

Добавлено через 2 минуты

ЦитатаСообщение от niXman Посмотреть сообщение

не обычный.
ncurses — сторонняя библиотека. она не входит в комплект поставки компилятора.

гавённые авторы. как и их книжки

Эксперт С++

ЦитатаСообщение от odip Посмотреть сообщение

но termios входит в комплект поставки библиотеки Си.
а ncurses — сторонняя библиотека.

ЦитатаСообщение от odip Посмотреть сообщение

ЦитатаСообщение от polimorf96 Посмотреть сообщение

Эксперт С++

Какой еще библиотеки Си ?
В сорцах gcc есть ?

Добавлено через 2 минуты
Весь Linux (UNIX) состоит из кучи библиотек
Забиваем в google «Linux termios» — 72000 результатов
«Linux ncurses» — 719000 результатов

И что — после этого ты будешь утверждать что ncurses нельзя использовать ?

Эксперт С++

ЦитатаСообщение от odip Посмотреть сообщение

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

ЦитатаСообщение от odip Посмотреть сообщение

2 Author
Столкнулся с такой же проблемой при переходе на Ubuntu. Тоже начал искать по форумам, в гугле. Тоже видел ссылки на ncurses. Но решил проблему я гораздо проще, чем вы. Я просто переоценил важной функции getch в моих программах. В случае когда это РЕАЛЬНО очень надо — можно использовать предложенный вариант с изменением параметров консоли,т.е. отключение канонического вида. Просто надо ли оно вам.

Насколько я выкопал в своё время, библиотека conio.h — создана для поддержки DOS приложений, является исключительно Windows’ской. Be easy =)

По поводу сторонних библиотек, автор, очевидно, не понял одну вещь: свои программы стоит делать максимально независимыми от других библиотек, исключая такие случаи как QT, GTK,WxWidgets и т.д. и те случаи, когда разработка аналогичного кода займёт больше ресурсов, чем просто покупка библиотеки. К примеру — библиотека анализа экономических параметров. Если вы с этим не знакомы — вам проще купить и использовать стороннюю библиотеку, чем написать свою.

А вообще, совет: пока учитесь — изобретайте велосипеды =)

Conio.h: Нет такого файла или каталога
#include <iostream> #include <conio.h> // Упр3.cpp:3:19: fatal error: conio.h: Нет такого файла.

в xcode
Знаю, что эта проблема обсуждалась уже много раз, но к сожалению я так и не смогла разобраться.

Не работает conio.h
при компиляции программы, изменяющей цвет шрифта и фона текста, появляются ошибки, что команды.

getche() и conio.h
Всем добрый вечер. Есть программа, нужно скомпиллировать под линуксом, но там нету библиотеки.

Источник

Is there any library similar to ?

I used the IDE DEV C++ to compile C programs on Windows and I used the libraries and , but now I use Ubuntu and downloaded the Codeblocks, but it does not have these libraries. I just wanted to use some function similar to getch(), which is present in the library conio. Is there any similar library? And if there is how do I install?

conio.h is a non-standard Borland header. I got used to it in the short time I was developing in Windows as well (also with Bloodshed Dev-C++).

4 Answers 4

Note that this is only compatible file. I recommend to shift on curses.h file, which has lot many things, which are absent in conio.h file.

the best way, is create a symlink between curses.h and conio.h like:

ln -s /usr/include/curses.h /usr/include/conio.h 
# debian/ubuntu $ sudo apt-get install libncurses5-dev libncursesw5-dev # voidlinux $ xbps-install -S ncurses-devel # archlinux $ pacman -Sy ncurses # redhate/fedora/suse. $ sudo yum install ncurses-devel 

Here is a possible solution:

  1. From https://sourceforge.net/projects/hlanguage/files/Source/include/conio.h/download download the 1.1 KB conio.h file
  2. Save or copy the file to the directory /usr/include
  3. Then from https://sourceforge.net/projects/hlanguage/files/Source/include/_mingw.h/download download the 3.8KB _mingw.h file which conio.h depends on.
  4. Save the _mingw.h file to the same location as the conio.h file.

Do not dump these files to your present project directory, they will not work. Besides these are general compiler libraries that you may need to compile other projects, so better to make them available to the compiler and not the project.

I am using an Android handheld, if you are on PC please revise this response with wget and precise download links.

Источник

Оцените статью
Adblock
detector