HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
カーソルを座標 (y,x) に移動し, str がポイントする指定された文字列を,指定されたウィンドウに追加します。
#include <curses.h>int mvaddstr (int y, int x, char *str);
int mvwaddstr (WINDOW *win, int y, int x, char *str);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。str
文字列へのポインタ。
このルーチンは, mvwaddstrと同じ機能を, stdscrウィンドウに対して実行します。サブウィンドウに対して使用された場合, mvwaddstrは下位のウィンドウに対しても文字列を書き込みます。
OK 成功を示します。 ERR 関数がスクリーンに不正なスクロールを引き起こすことを示します。ただし,関数はウィンドウ上に可能な限り文字列を追加します。詳細については, scrollok 関数を参照してください。
ターミナルのカーソルを,(lasty,lastx) から (newy,newx) に移動します。
#include <curses.h>int mvcur (int lasty, int lastx, int newy, int newx);
lasty
カーソル位置。lastx
カーソル位置。newy
新しいカーソル位置。newx
新しいカーソル位置。
HP C for OpenVMS システムでは, mvcurと moveは同じ機能を実行します。moveも参照してください。
OK 成功を示します。 ERR ウィンドウの移動により,ウィンドウの一部または全体がターミナル・スクリーンから外れることを示します。ターミナル・スクリーンは変更されません。
カーソルを座標 (y,x) に移動し,指定されたウィンドウ上の文字を削除します。 mvdelch関数は stdscrウィンドウに作用します。
#include <curses.h>int mvdelch (int y, int x);
int mvwdelch (WINDOW *win, int y, int x);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。
同じ行のそれ以降の文字は左にシフトし,最後の文字は空白になります。
OK 成功を示します。 ERR 文字の削除がスクリーンに不正なスクロールを引き起こすことを示します。詳細については, scrollok 関数を参照してください。
カーソルを座標 (y,x) に移動し,ターミナル・スクリーンから文字を取得し,指定されたウィンドウにエコーします。 mvgetch関数は stdscrウィンドウに作用します。
#include <curses.h>int mvgetch (int y, int x);
int mvwgetch (WINDOW *win, int y, int x);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。
mvgetchおよび mvwgetch関数は,文字をフェッチする前に,指定されたウィンドウをリフレッシュします。
x 返される文字。 ERR 関数がスクリーンに不正なスクロールを引き起こすことを示します。詳細については, scrollok 関数を参照してください。
カーソルを座標 (y,x) に移動し,ターミナル・スクリーンから文字列を取得し,これを変数 str ( 文字列を保持できるだけの大きさでなくてはなりません ) に格納し,指定されたウィンドウにエコーします。 mvgetstr関数は stdscrウィンドウに作用します。
#include <curses.h>int mvgetstr (int y, int x, char *str);
int mvwgetstr (WINDOW *win, int y, int x, char *str);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。str
表示される文字列。
mvgetstrおよび mvwgetstr関数は,文字列から改行文字 (\n) を除去します。
OK 成功を示します。 ERR 関数がスクリーンに不正なスクロールを引き起こすことを示します。
カーソルを座標 (y,x) に移動し,ウィンドウに変更を加えずに,指定されたウィンドウ上の文字を返します。 mvinch関数は stdscrウィンドウに作用します。
#include <curses.h>int mvinch (int y, int x);
int mvwinch (WINDOW *win, int y, int x);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。
x 返される文字。 ERR 入力エラーを示します。
カーソルを座標 (y,x) に移動し,文字 ch を指定されたウィンドウに挿入します。 mvinsch関数は stdscrウィンドウに作用します。
#include <curses.h>int mvinsch (int y, int x, char ch);
int mvwinsch (WINDOW *win, int y, int x, char ch);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。ch
ウィンドウの座標に挿入する文字。
文字の挿入後,行の上のすべての文字は右にシフトし,行の最後の文字は削除されます。
OK 成功を示します。 ERR 関数がスクリーンに不正なスクロールを引き起こすことを示します。詳細については, scrollok 関数を参照してください。
カーソルを座標 (y,x) に移動し,指定された文字列を指定されたウィンドウに挿入します。 mvinsstr関数は stdscrウィンドウに作用します。
#include <curses.h>int mvinsstr (int y, int x, char *str);
int mvwinsstr (WINDOW *win, int y, int x, char *str);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。str
表示する文字列。
文字列の後のすべての文字は右にシフトし,最後の文字は消えます。 mvinsstrおよび mvwinsstr関数は HP C for OpenVMS システムに固有のもので,移植性はありません。
OK 成功を示します。 ERR 関数がスクリーンに不正なスクロールを引き起こすことを示します。詳細については, scrollok 関数を参照してください。
ウィンドウの開始位置を,指定された (y,x) 座標に移動します。
#include <curses.h>mvwin (WINDOW *win, int y, int x);
win
ウィンドウへのポインタ。y
ウィンドウ座標。x
ウィンドウ座標。
サブウィンドウを移動するとき, mvwin関数は,下位ウィンドウ上の新しい位置にサブウィンドウの内容を再表示しません。移動後にサブウィンドウへの書き込みを行った場合,関数は下位ウィンドウにも書き込みを行います。
OK 成功を示します。 ERR ウィンドウの移動により,ウィンドウの一部または全体がターミナル・スクリーンから外れることを示します。ターミナル・スクリーンは変更されません。
高精度のスリープです (リアルタイム)。指定された時間だけ,プロセス (プログラムがスレッド化されている場合はスレッド) の実行を中断します。
#include <time.h>int nanosleep (const struct timespec *rqtp, struct timespec *rmtp);
rqtp
呼び出し元のプロセスまたはスレッドを中断する時間を指定する timespec構造体へのポインタ。rmtp
以前に要求されていた時間の残り時間 (時間が完全に経過した場合は,ゼロ) を受け取る timespecデータ構造体へのポインタ。
nanosleep関数は,次のいずれかの条件を満たすまで,プロセスまたはスレッドの実行を中断します。
- rqtp 引数で指定された時間が経過した。
- 呼び出し元プロセスにシグナルが渡され,その動作がシグナル・キャッチ関数の起動,またはプロセスの終了である。
引数の値がスリープの精度の整数倍に切り上げられたり,システムにより他の動作がスケジューリングされることがあるため,中断時間は,要求された時間よりも長くなることがあります。シグナルによって割り込まれた場合を除き,中断時間は, rqtp 引数で指定された時間より短くなることはありません (システム・クロック CLOCK_REALTIME で計測されます)。
nanosleep関数を使用しても,シグナルの動作やブロック条件には影響しません。
要求された時間が経過した場合,呼び出しが成功し, nanosleep関数はゼロを返します。
失敗すると, nanosleep関数は - 1 を返し,失敗を示す値を errnoに設定します。この関数は,シグナルに割り込まれるか,指定された rqtp 引数が0 より小さいか 10 億以上の場合に失敗します。
rmtp 引数が NULL でない場合,この引数が指す timespec構造体は,時間間隔の残り時間 (要求された時間から実際にスリープした時間を引いたもの) を含むようにアップデートされます。
rmtp 引数が NULL の場合,残り時間は返されません。
clock_getres, clock_gettime, clock_settime,および sleepも参照してください。
0 成功を示します。要求された時間が経過しました。 - 1 失敗を示します。関数呼び出しが成功しなかったか,シグナルに割り込まれました。次の値のいずれかが, errno に設定されます。
- EINTR -- nanosleep 関数が,シグナルに割り込まれました。
- EINVAL -- rqtp 引数が, 0 より小さい,または 10 億以上のナノ秒値を指定していました。
ターミナル・スクリーン上の座標 (begin_y, begin_x) から,numlines 行, numcols カラムの新しいウィンドウを作成します。
#include <curses.h>WINDOW *newwin (int numlines, int numcols, int begin_y, int begin_x);
numlines
これが 0 の場合, newwin関数はサイズを LINES (begin_y) に設定します。 LINES x COLS のサイズの新しいウィンドウを作成するには,次のようにします。
newwin (0, 0, 0, 0)
numcols
これが 0 の場合, newwin関数はサイズを COLS (begin_x) に設定します。 LINES x COLS のサイズの新しいウィンドウを作成するには,次のようにします。
newwin (0, 0, 0, 0)
begin_y
ウィンドウ座標。begin_x
ウィンドウ座標。
x 割り当てられたウィンドウのアドレス。 ERR エラーを示します。
x から見て y の向きにある,機械による表現が可能な次の数値を返します。
#include <math.h>double nextafter (double x, double y);
float nextafterf (float x, float y);
long double nextafterl (long double x, long double y);
x
実数。y
実数。
nextafter関数は, x から見て y の向きにある,機械による表現が可能な次の浮動小数点数を返します。 y が x よりも小さい場合, nextafterは,機械による表現が可能な x よりも小さい最大の浮動小数点数を返します。
n x から見て y の向きにある,機械による表現が可能な次の浮動小数点値。 HUGE_VAL オーバフロー。 errno は ERANGE に設定されます。 NaN x または y が NaN です。 errno は EDOM に設定されます。
「説明」に示す例外を除いて, nextafter関数と同じです。
#include <math.h>double nexttoward (double x, long double y);
float nexttowardf (float x, long double y);
long double nexttowardl (long double x, long double y);
x
実数値。y
実数値。
nexttoward関数は,次の違いを除いて,対応する nextafter関数と同じです。つまり,第 2 パラメータの型は long doubleになっているので, x と y が等しい場合は, y を関数の型に変換して返します。
n x から見て y 側にあって,機械による表現が可能な次の浮動小数点値です。 y (ただし,型は x と同じ) x と y が等しい場合の戻り値です。 HUGE_VAL オーバフローが発生したことを示します。 errno には ERANGE が設定されます。 NaN x または y が NaN であったことを示します。 errno には EDOM が設定されます。
| 前へ | 次へ | 目次 | 索引 |