web-dev-qa-db-fra.com

Pourquoi ne puis-je pas trouver <conio.h> sous Linux?

Duplicate possible:
Comment implémenter la fonction getch () de C sous Linux?

Quelle est la version équivalente Linux du fichier d'en-tête conio.h à partir de MS-DOS?

Existe-t-il un moyen de remplacer ses fonctionnalités? par ex. getch()

J'utilise gcc et l'éditeur de texte Geany pour compiler le code C.

63
janniks

conio.h est un fichier d'en-tête C utilisé dans les anciens compilateurs MS-DOS pour créer des interfaces utilisateur texte. Les compilateurs qui ciblaient des systèmes d'exploitation non DOS, tels que Linux, Win32 et OS/2, ont fourni différentes implémentations de ces fonctions.

Le #include <curses.h> vous donnera presque toutes les fonctionnalités fournies dans conio.h

nucurses doivent être installés en premier lieu

Dans les distros basés sur deb

Sudo apt-get install libncurses5-dev libncursesw5-dev

Et dans les distributions basées sur le nombre de tours utilisé

Sudo yum install ncurses-devel ncurses

Pour getch() classe de fonctions, vous pouvez essayer this

87

L'original conio.h a été implémenté par Borland. Il ne fait donc pas partie de la bibliothèque standard C et n'est pas défini par POSIX.

Mais voici une implémentation pour Linux qui utilise ncurses pour faire le travail.

22
karlphillip

Une bibliothèque Linux populaire ayant des fonctionnalités similaires serait ncurses .

4
Antoine Gersant

C'est parce que n'existe pas, car il est lié à Windows.

Utilisez les fonctions standard de <stdio.h> à la place, telles que getc

La bibliothèque suggérée ncurses est utile si vous voulez écrire des interfaces graphiques basées sur une console, mais je ne pense pas que ce soit ce que vous voulez.

3
Ottavio Campana