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