curs_addch(3)

名称
addch, waddch, mvaddch, mvwaddch, echochar, wechochar - 文字を (属性とともに) ncurses ウィンドウに追加してから、カーソルを進める

書式
#include <ncurses.h> addch(chtype ch);
waddch(WINDOW *win, chtype ch);
mvaddch(int y, int x, chtype ch);
mvwaddch(WINDOW *win, int y, int x, chtype ch);
echochar(chtype ch);
wechochar(WINDOW *win, chtype ch);

解説
addch, waddch, mvaddch および mvwaddch の各ルーチンは、 指定のウィンドウの現在のウィンドウ位置に文字 ch を設定し、 その位置を進行します。 これらは stdio(3) の putchar に類似しています。 進行が右端余白の場合、カーソルは自動的に次の行の先頭にラップします。 scrollok が有効な場合、スクロール領域の下端では、 スクロール領域が 1 行だけ上にスクロールします。 ch がタブ、改行、またはバックスペースの場合、 カーソルはウィンドウ内部で適切に移動させられます。 改行は clrtoeol を行ってから移動します。 タブは、8 カラムごとにあると見なされます。 ch がタブ、改行、バックスペース以外の制御文字の場合、 それは ^X 表記で描かれます。 制御文字を追加した後に winch を呼び出しても、 制御文字は戻らず、代わりに制御文字の表現が返されます (制御文字を文字どおり送るには、echocharを使用します)。 ビデオ属性は 1 つの文字と論理和 (OR) を取ることによって、 結合されてパラメータに入れることができます。 この結果、これらの属性も設定されることになります (ここで意図することは、属性を含めてテキストが、 inch と addch を使用して、 ある場所から別の場所にコピーできるということです)。 [ curs_attr(3) ページの、定義済みビデオ属性定数である standout を参照してください]。 echochar ルーチンと wechochar ルーチンは、 addch の呼び出しの後に refresh の呼び出しが続いたもの、 または waddch の呼び出しの後に wrefresh の呼び出しが続いたものと機能的に同等です。 1 つの文字だけが出力されていることを考慮に入れ、 制御文字でない文字の場合は、これらのルーチンを、 同等のものの代わりに使用すると、性能が大幅に向上することがあります。

  ライングラフィックス
以降の変数を使用して、addch ファミリのルーチンで、 ライン描画文字を画面に追加できます。 以下にリストしたデフォルト文字が使用されるのは、 acsc 機能がターミナル固有の代わりのものを定義しない場合です。 名前は VT100 命名法から取ってあります。
名称 | デフォルト | 記述
ACS_ULCORNER | + | 左上コーナー
ACS_LLCORNER | + | 左下コーナー
ACS_URCORNER | + | 右上コーナー
ACS_LRCORNER | + | 右下コーナー
ACS_RTEE | + | 右ツリー
ACS_LTEE | + | 左ツリー
ACS_BTEE | + | 下端ツリー
ACS_TTEE | + | 上端ツリー
ACS_HLINE | - | 水平線
ACS_VLINE | | | 垂直線
ACS_PLUS | + | プラス
ACS_S1 | - | 走査線 1
ACS_S9 |  | 走査線 9
ACS_DIAMOND | + | ダイアモンド
ACS_CKBOARD | : | チェッカーボード (点描)
ACS_DEGREE | ' | 度のシンボル
ACS_PLMINUS | # | プラス / マイナス
ACS_BULLET | o | ブレット
ACS_LARROW | < | 左向き矢印
ACS_RARROW | > | 右向き矢印
ACS_DARROW | v | 下向き矢印
ACS_UARROW | ^ | 上向き矢印
ACS_BOARD | # | 正方形のボード
ACS_LANTERN | # | ランタンのシンボル
ACS_BLOCK | # | 埋められた正方形のブロック

戻り値
ルーチンはすべて、処理が失敗すると整数 ERR で返ります。 処理が成功して完了すると、ERR 以外の整数値が返されます。 ただし、これまでのルーチンの説明で異なるように注記した場合は別です。

バグ

注釈
addch, mvaddch, mvwaddch および echochar はマクロである可能性があります。 386 と 486 のコンソールでは、 wechochar に上位ビットを設定した引数を指定すると、 対応する高さが半分の ASCIIZ グラフィックが生成されます (SVr4 curses にもこの特徴がありますが、 ドキュメントに記載はされていません)。 しかし、制御文字引数は通常、対応するグラフィックを作成しないものです。 CR, NL, FF および TAB のような文字は、 通常、コンソールドライバ自体によって解釈され、 ESC は制御シーケンスの先頭と解釈されます。

関連項目
ncurses(3), curs_attr(3), curs_clear(3), curs_inch(3), curs_outopts(3), curs_refresh(3), putc(3).