conio.hは、コンソール入出力を提供するために主にMS-DOSコンパイラによって使用されるCヘッダーファイル です。[1]これはC標準ライブラリやISO C の一部ではなく、 POSIXによって定義されていません。
このヘッダーは、プログラムから「istream 入力と出力」を実行するためのいくつかの便利なライブラリ関数を宣言します。DOS、Windows 3.x、Phar Lap、DOSX、OS/2、またはWin32 [2]をターゲットとするほとんどの Cコンパイラにはこのヘッダーがあり、デフォルトの C ライブラリに関連するライブラリ関数を提供します。UNIXおよびLinux をターゲットとするほとんどの C コンパイラにはこのヘッダーがなく、ライブラリ関数を提供しません。一部の組み込みシステムまたはcc65では、conio 互換ライブラリが使用されます。[3]
conio.hで宣言されるライブラリ関数は、コンパイラによって多少異なります。Lattice Cで最初に実装されたさまざまな関数は、最初のDOS INT 21H関数のいくつかに直接マップされていました。BorlandのTurbo Cで提供されるライブラリは、DOS API を使用せず、代わりに出力にビデオ RAM を直接アクセスし、BIOS 割り込み呼び出しを使用しました。このライブラリには、成功したTurbo Pascal の機能からヒントを得た追加機能もあります。
LinuxやOS/2などのDOS以外のオペレーティングシステムを対象とするコンパイラも同様のソリューションを提供しています。unix関連のcursesライブラリはここで非常に一般的です。別の例としてはSyncTERMのciolibがあります。DJ DelorieがGO32エクステンダー用に作成したconio.hのバージョンは特に広範囲にわたります。[4]
機能
参考文献
外部リンク
- Microsoftのドキュメント
- デジタルマーズのドキュメント
- IO FAQ - 非標準コンソール IO の説明と提案
- MinGW/Dev-C++ 用の Borland スタイルの CONIO 実装
- 生のキーボード入力を取得する方法のリスト
