web-dev-qa-db-ja.com

Linuxで<conio.h>が見つからないのはなぜですか?

可能性のある複製:
LinuxでCのgetch()関数を実装する方法

MS-DOSのconio.hヘッダーファイルのLinuxバージョンと同等のものは何ですか?

その機能を置き換える方法はありますか? e.g。 getch()

gccとテキストエディターGeanyを使用して、Cコードをコンパイルしています。

63
janniks

conio.hは、テキストユーザーインターフェイスを作成するために古いMS-DOSコンパイラで使用されていたCヘッダーファイルです。 Linux、Win32、OS/2などの非DOSオペレーティングシステムを対象としたコンパイラは、これらの機能の異なる実装を提供しました。

#include <curses.h>は、conio.hで提供されたほぼすべての機能を提供します

核は最初にインストールする必要があります

Debベースのディストリビューションで使用

Sudo apt-get install libncurses5-dev libncursesw5-dev

そして、RPMベースのディストリビューションで使用

Sudo yum install ncurses-devel ncurses

getch()クラスの関数の場合、 this を試すことができます

87

元のconio.hはBorlandによって実装されたため、C標準ライブラリの一部ではなく、POSIXによって定義されていません。

ただし、これはLinuxの実装です ncursesを使用してジョブを実行します。

22
karlphillip

同様の機能を備えた一般的なLinuxライブラリは、 ncurses です。

4
Antoine Gersant

これは、Windowsにバインドされているため、isが存在しないためです。

代わりに、getcなどの<stdio.h>の標準関数を使用します

推奨されるncursesライブラリは、コンソールベースのGUIを作成したい場合に適していますが、それがあなたの望むものではないと思います。

3
Ottavio Campana