web-dev-qa-db-de.com

Warum kann ich <conio.h> unter Linux nicht finden?

Mögliches Duplikat:
Wie implementiere ich die getch () - Funktion von C unter Linux?

Was ist die äquivalente Linux -Version der conio.h - Headerdatei von MS-DOS?

Gibt es eine Möglichkeit, seine Funktionalität zu ersetzen? z. getch()

Ich benutze gcc und den Texteditor Geany, um den C Code zu kompilieren.

63
janniks

conio.h Ist eine C -Headerdatei, die in alten MS-DOS-Compilern zum Erstellen von Textbenutzeroberflächen verwendet wird. Compiler, die auf Nicht-DOS-Betriebssysteme wie Linux, Win32 und OS/2 abzielen, stellten verschiedene Implementierungen dieser Funktionen bereit.

Mit #include <curses.h> Erhalten Sie fast alle Funktionen, die in conio.h Bereitgestellt wurden.

nucurses müssen an erster stelle installiert werden

In deb-basierten Distros verwenden

Sudo apt-get install libncurses5-dev libncursesw5-dev

Und in rpm-basierten Distributionen verwenden

Sudo yum install ncurses-devel ncurses

Für die Klasse getch() können Sie this versuchen

87

Die ursprüngliche conio.h wurde von Borland implementiert und ist daher weder Teil der C-Standardbibliothek noch von POSIX definiert.

Aber hier ist eine Implementierung für Linux die ncurses verwendet, um die Arbeit zu erledigen.

22
karlphillip

Eine beliebte Linux-Bibliothek mit ähnlicher Funktionalität wäre ncurses .

4
Antoine Gersant

Das liegt daran, dass es nicht existiert, da es an Windows gebunden ist.

Verwenden Sie die Standardfunktionen von <stdio.h> stattdessen wie getc

Die vorgeschlagene ncurses-Bibliothek ist gut, wenn Sie konsolenbasierte GUIs schreiben möchten, aber ich glaube nicht, dass Sie dies wünschen.

3
Ottavio Campana