curses の初期化

このセクションでは curses の初期化に使用するコマンドについて説明します。

curses を初期化するには、 以下のコマンドを使用します。

コマンド 説明
endwin curses サブルーチン・ライブラリーおよびそのデータ構造体を終了します。
initscr curses サブルーチン・ライブラリーおよびそのデータ構造体を初期化します。
isendwin endwin サブルーチンが呼び出された後に、wrefresh サブルーチンへの呼び出しがない場合に、TRUE を戻します。
newterm 新規端末をセットアップします。
setupterm curses が使用できるように TERMINAL 構造体をセットアップします。
curses サブルーチンを呼び出すプログラムの先頭に curses.h ファイルを組み込む必要があります。 これを実行するには、 次のステートメントを使用してください。
#include <curses.h>

ウィンドウまたはスクリーンを操作するサブルーチンを呼び出す前には、 initscr または newterm サブルーチンを呼び出す必要があります。 これらのサブルーチンは、 まず端末の設定を保管してから、 setupterm サブルーチンを呼び出し、curses 端末を設定します。

curses を一時的に中断する必要がある場合には、 シェル・エスケープまたはサブルーチンを使用します。 一時的なエスケープ後に再開するには、wrefresh または doupdate サブルーチンを呼び出します。 curses プログラムを終了する前には、 endwin サブルーチンを呼び出す必要があります。 endwin サブルーチンは tty モードを復元し、 カーソルをスクリーンの左下隅に移動し、 端末を適切な非ビジュアル・モードにリセットします。

大部分のスクリーン指向の対話式プログラムには、 結果をスクリーンにエコーしない、 文字単位の入力が必要です。 文字単位の入力を使用するプログラムを確立するには、initscr サブルーチンを呼び出した後に、cbreaknoecho サブルーチンを呼び出します。 このタイプの入力を受け入れる場合、 プログラムは以下のサブルーチンも呼び出す必要があります。
  • nonl サブルーチン。
  • Window パラメーターを stdscr に設定し、Flag パラメーターを FALSE に設定した intrflush サブルーチン。Window パラメーターは必須ですが、無視されます。 stdscr は既に作成されているので、Window パラメーターの値として stdscr を使用することができます。
  • Window パラメーターを stdscr に設定し、Flag パラメーターを TRUE に設定した keypad サブルーチン。

最適化のために、 wrefresh サブルーチンを不必要に呼び出したくない場合に、 isendwin サブルーチンは役立ちます。 endwin サブルーチンが呼び出された後に、wrefresh サブルーチンへのコールがないかどうかを調べるには、 isendwin サブルーチンを使用します。