curs_addchstr(3x) curs_addchstr(3x)
addchstr, addchnstr, waddchstr, waddchnstr, mvaddchstr,
mvaddchnstr, mvwaddchstr, mvwaddchnstr
- curses ウインドウに文字列 (と属性) を追加する
#include <curses.h>
int addchstr(const chtype *chstr);
int addchnstr(const chtype *chstr, int n);
int waddchstr(WINDOW *win, const chtype *chstr);
int waddchnstr(WINDOW *win, const chtype *chstr, int n);
int mvaddchstr(int y, int x, const chtype *chstr);
int mvaddchnstr(int y, int x, const chtype *chstr, int n);
int mvwaddchstr(WINDOW *win, int y, int x, const chtype *chstr);
int mvwaddchnstr(WINDOW *win, int y, int x, const chtype *chstr, int n);
これらの関数は chstr の指す (ヌルで終わる) 配列を
ウインドウのイメージ構造に現在のカーソル位置からコピーします。
最後の引数に n を取る 4 つの関数は、行に収まる限り、
最大 n 要素をコピーします。
n=-1 ならば配列全体をコピーします。文字の最大数は行に
収まるだけとなります。
ウインドウのカーソルは進みません。
これらの関数は waddnstr より速く動作します。
その一方
o (改行、バックスペース、復帰文字のような)
チェックをしません。
o 現在のカーソル位置を進めません。
o その他の制御文字を ^ 表現に展開しません。
o 右端 (マージン) に達した場合、新しい行に折り返さず、
文字列を切り詰めます。
すべての関数は失敗のとき整数 ERR を、成功のとき
OK を返します。
X/Open はエラーの条件を何も定義していません。
この実装では、ウインドウ・ポインタがヌルのときエラーを
返します。
mv で始まる関数は、最初に wmove を使用してカーソルを移動し、
位置がウインドウの外だった場合、またはウインドウ・ポインタが
ヌルの場合にエラーを返します。
waddchnstr 以外のすべてのルーチンはマクロであるかも
しれません。
これらのルーチンは XSI Curses standard, Issue 4 に
記載されています。
curs_addstr(3x), curses(3x).
ワイド文字用ライブラリ (ncursesw) で対応する関数群は
curs_add_wchstr(3x) で説明しています。
curs_addchstr(3x)