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)