HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
指定された文字列を,コマンド・プロセッサで実行させるためにホスト環境に渡します。この関数は非リエントラントです。
#include <stdlib.h>int system (const char *string);
string
実行する文字列へのポインタ。 string が NULL である場合には,ゼロ以外の値が返されます。 string は DCL コマンドであり,イメージの名前ではありません。イメージを実行するには,いずれかの execルーチンを使用してください。
system関数はサブプロセスをスポーンし,そのサブプロセスの中で, string で指定されたコマンドを実行します。 system関数は,サブプロセスが完了するのを待ってから,関数の戻り値としてサブプロセス・ステータスを返します。サブプロセスは, system呼び出しの中で, vforkの呼び出しによってスポーンされます。このため, systemの呼び出しは, vforkの呼び出しの後,それに対応する exec関数の呼び出しの前に行うべきではありません。
OpenVMS Version 7.0 およびそれ以降のシステムでは, <stdlib.h>をインクルードし, _POSIX_EXIT 機能テスト・マクロを設定してコンパイルを行うと, system関数が返すステータスは,子を待つために waitpidを呼び出したときと同じようになります。このため,WIFEXITED および WEXITSTATUS マクロを使用して, 0〜255 の範囲の終了ステータスを取得するようにしてください。
_POSIX_EXIT 機能テスト・マクロの設定は, /DEFINE_POSIX_EXIT を使用するか,ファイルの先頭で,他のファイルをインクルードする前に #define _POSIX_EXIT を指定することによって行います。
ゼロ以外の値 string が NULL だった場合には, system 関数がサポートされていることを示す値 1 が返されます。 string が NULL でなければ,値はサブプロセスの OpenVMS リターン・ステータスです。
#include <stdlib.h> #include <stdio.h> #include <unistd.h> /* write, close */ #include <fcntl.h> /* Creat */ main() { int status, fd; /* Creat a file we are sure is there */ fd = creat("system.test", 0); write(fd, "this is an example of using system", 34); close(fd); if (system(NULL)) { status = system("DIR/NOHEAD/NOTRAIL/SIZE SYSTEM.TEST"); printf("system status = %d\n", status); } else printf("system() not supported.\n"); }
この例のプログラムを実行すると,次の結果が出力されます。
DISK3$:[JONES.CRTL.2059.SRC]SYSTEM.TEST;1
1
system status = 1
|
ラジアンの引数の正接である double値を返します。
#include <math.h>double tan (double x);
float tanf (float x); (Alpha, I64)
long double tanl (long double x); (Alpha, I64)
double tand (double x); (Alpha, I64)
float tandf (float x); (Alpha, I64)
long double tandl (long double x); (Alpha, I64)
x
実数として表現されたラジアン。
tan関数は,ラジアン単位の x の正接を計算します。tand関数は,度単位の x の正接を計算します。
x 引数の正接。 HUGE_VAL x は特異点です。 (... - 3pi/2, - pi/2, pi/2...) NaN x は NaN です。 errno は EDOM に設定されます。 0 x は ± 無限大です。 errno は EDOM に設定されます。 ±HUGE_VAL オーバフローが発生しました。 errno は ERANGE に設定されます。 0 アンダフローが発生しました。 errno は ERANGE に設定されます。
引数の双曲線正接を返します。
#include <math.h>double tanh (double x);
float tanhf (float x); (Alpha, I64)
long double tanhl (long double x); (Alpha, I64)
x
実数。
tanh関数は,(e**x - e**( - x))/(e**x + e**( - x)) として計算される,引数の双曲線正接を返します。
n 引数の双曲線正接。 HUGE_VAL 引数の値が大きすぎます。 errno は ERANGE に設定されます。 NaN x は NaN です。 errno は EDOM に設定されます。 0 アンダフローが発生しました。 errno は ERANGE に設定されます。
指定されたディレクトリ・ストリームに関連付けられている現在の位置を返します。ディレクトリに対する操作を実行します。
#include <dirent.h>long int telldir (DIR *dir_pointer);
dir_pointer
オープン・ディレクトリの DIR構造体へのポインタ。
telldir関数は,指定されたディレクトリ・ストリームに関連付けられている現在の位置を返します。
x 現在の位置。 - 1 エラーを示します。エラーの詳しい内容は,グローバルな errno に設定されます。
一時的ファイルの名前を作成します。
#include <stdio.h>char *tempnam (const char *directory, const char *prefix, ...);
directory
ファイルを作成するディレクトリのパス名へのポインタ。prefix
ファイル名の先頭の文字シーケンスへのポインタ。 prefix 引数は null であってもよく,一時的ファイル名の先頭の文字として使用される 5 文字までの文字列をポイントすることもできます。...
省略可能な引数であり,1 または 0 を指定できます。 1 を指定した場合, tempnamは, OpenVMS 形式のファイル指定を返します。 0 を指定した場合, tempnamは, UNIX 形式のファイル指定を返します。 UNIX 形式のファイル指定の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.3 項を参照してください。
tempnam関数は,一時的ファイルのためのファイル名を生成します。この関数では,ファイルを作成するディレクトリを選択することができます。directory 引数が null であるか,適切なディレクトリのパス名でない文字列をポイントしていた場合には, < stdio.h> ヘッダ・ファイルに P_tmpdirとして定義されているパス名が使用されます。
ユーザ環境で TMPDIR環境変数を指定することで,パス名の選択をバイパスすることができます。 TMPDIR変数の値は,目的の一時的ファイル・ディレクトリのパス名です。
prefix 引数を使用して,一時的ファイル名の 5 文字までの接頭辞を指定することができます。
tempnam関数は,後に free関数の呼び出しで使用できる,生成されたパス名へのポインタを返します。
freeも参照してください。
注意
tmpnamとは対照的に, tempnamは呼び出しのたびに異なるファイル名を生成するとは限りません。 tempnamは,指定された名前のファイルが存在する場合にのみ,新しいファイル名を生成します。呼び出しのたびに一意のファイル名が必要な場合には, tempnamではなく tmpnamを使用してください。
x 後に free 関数の呼び出しで使用できる,生成されたパス名へのポインタ。 NULL エラーが発生しました。 errno はエラーを示す値に設定されます。
引数に対するガンマ関数の値を返します。
#include <math.h>double tgamma (double x);
float tgammaf (float x);
long double tgammal (long double x);
x
実数値。
tgamma関数は, x に対するガンマ関数の値を計算します。
n 成功したことを示します。 n は, x に対するガンマ関数の値です。 - 1 x の値が負です。 errno に,EDOM が設定されます。 ±HUGE_VAL オーバフローが発生したか, x の値が ±0 です。 errno に,ERANGE が設定されます。 NaN x の値が NaN か - Inf です。 errno に,EDOM が設定されます。 x x の値が +Inf です。
1970 年 1 月 1 日の 00:00:00 からの (協定世界時での) 経過秒数を返します。
#include <time.h>関数バリアント _DECC_V4_SOURCE および _VMS_V6_SOURCE 機能テスト・マクロを定義してコンパイルすると, OpenVMS Version 7.0 より前の動作と等価な, time関数へのローカル時刻ベースのエントリ・ポイントが使用可能となります。time_t time (time_t *time_location);
time_location
NULL,または返された時刻が格納される場所へのポインタ。 time_t型は, <time.h>ヘッダ・ファイルに次のように定義されています。
typedef unsigned long int time_t;
x Epoch からの経過秒数 ( time_t )( - 1) エラーを示します。 SYS$TIMEZONE_DIFFERENTIAL 論理名の値が間違っている場合,関数は実行に失敗し, errno は EINVAL に設定されます。
現在のプロセスと,その終了した子プロセスの累積時間を返します。
#include <times.h>clock_t times (struct tms *buffer); (OpenVMS V7.0 and higher)
void times (tbuffer_t *buffer); (pre OpenVMS V7.0)
buffer
ターミナル・バッファへのポインタ。
プロセスと子プロセスの両方の時刻について,構造体は時間をユーザ時間とシステム時間に分離します。 OpenVMS システムはシステム時間とユーザ時間を区別しないため,すべてのシステム時間は 0 として返されます。累積 CPU 時間は,10 ミリ秒単位で返されます。子プロセスの累積時間は,C のメイン・プログラム,または VAXC$CRTL_INITあるいは DECC$CRTL_INITを呼び出すプログラムでのみ含められます。
OpenVMS Version 7.0 およびそれ以降のシステムでは, times関数は,過去の任意の基準時刻 ( たとえばシステムのスタートアップ時刻 ) 以降の経過時間をクロック・ティック単位で返します。この基準時刻は, times関数の呼び出しの間で変化しません。戻り値は, clock_t型の値の範囲を超えてオーバフローすることがあります。 timesは実行に失敗すると値 - 1 を返します。 HP C RTL は基準時刻としてシステムのブート時刻を使用します。
x システムのブート時刻以降の,クロック・ティック単位での経過時間。 ( clock_t )( - 1) エラーを示します。
更新が可能なようにオープンされた一時的ファイルを作成します。
#include <stdio.h>FILE *tmpfile (void);
ファイルは,プロセスが存在している間のみ,またはファイルがクローズされるまで存在し, vforkの呼び出しの前後で保持されます。
x ファイル・ポインタのアドレス ( <stdio.h> ヘッダ・ファイルに定義)。 NULL エラーを示します。
一時的ファイルに安全に使用できるファイル名を生成します。
#include <stdio.h>関数バリアント tmpnam関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _tmpnam32と _tmpnam64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。char *tmpnam (char *name);
name
関数またはマクロのファイル名引数の代わりとして使用する名前を含んでいる文字列。後に null 引数を指定して tmpnamを呼び出すと,関数は現在の名前を上書きします。
x name 引数が NULL ポインタ値 NULL である場合, tmpnam は内部記憶領域のアドレスを返します。 name が NULL でない場合には,長さ L_tmpnam ( <stdio.h> ヘッダ・ファイルに定義) の領域のアドレスと見なされます。この場合, tmpnam は結果として name 引数を返します。
8 ビット ASCII 文字の引数を 7 ビット ASCII 文字に変換します。
#include <ctype.h>int toascii (char character);
character
char型のオブジェクト。
x 7 ビット ASCII 文字。
文字を小文字に変換します。
#include <ctype.h>int tolower (int character);
character
unsigned charとして表現可能な int型のオブジェクト,または EOF の値。これ以外の値が指定された場合の動作は未定義です。
引数が大文字を表しており,プログラム・ロケール・カテゴリ LC_CTYPE の文字型情報の定義に従って,それに対応する小文字が存在する場合には,対応する小文字が返されます。引数が大文字でない場合には,その文字が変更なしに返されます。
x 引数に対応する小文字。引数が大文字でない場合には,その引数が変更なしに返されます。
| 前へ | 次へ | 目次 | 索引 |