OpenVMS
HP C ランタイム・ライブラリ・
リファレンス・マニュアル (下巻)


前へ 次へ 目次 索引


置換値が定義されていない場合は,空文字列に置換されます。

先頭のコンマまたは 2 つの隣接するコンマ (,,) は %N の指定に相当します。次の例を参照してください。


DEFINE NLSPATH ",%N.CAT,SYS$COMMON:[SYSMSG.%L]%N.CAT" 

この例では, catopenは次の場所をここに示した順に検索します。

  1. name (カレント・ディレクトリ)

  2. name.cat (カレント・ディレクトリ)

  3. SYS$COMMON:[SYSMSG.locale_name]name.cat


戻り値

x メッセージ・カタログ・ファイル記述子。呼び出しが正常終了したことを示します。この記述子は catgets および catclose の呼び出しで使用されます。
(nl_catd) - 1 エラーが発生したことを示します。 errno は次のいずれかの値に設定されます。

  • EACCES---特権が不十分であるか,ファイル保護違反が発生したか,ファイルが現在別のユーザによってロックされています。

  • EMFILE---プロセス・チャネル・カウントを超過しました。

  • ENAMETOOLONG---メッセージ・カタログの完全なファイル指定が長すぎます。

  • ENOENT---要求されたメッセージ・カタログを見つけることができませんでした。

  • ENOMEM---空きメモリが不足しています。

  • ENOTDIR--- name 引数の一部が有効なディレクトリでありません。

  • EVMSERR--- errno のどの値にも一致しないエラーが発生しました。 vaxc$errno の値を確認してください。


cbrt (Alpha only)

y の丸められた立方根を返します。

形式

#include <math.h>

double cbrt (double y);

float cbrtf (float y);

long double cbrtl (long double y);


引数

y

実数値。

ceil

引数に等しいか,それより大きい最小の整数を返します。

形式

#include <math.h>

double ceil (double x);

float ceilf (float x); (Alpha only)

long double ceill (long double x); (Alpha only)


引数

x

実数値。

戻り値

n 関数の引数に等しいか,それより大きい最小の整数。


cfree

前に呼び出した callocmallocreallocによって割り当てられた領域を再割り当て可能な状態にします。この関数は AST リエントラントです。

形式

#include <stdlib.h>

void cfree (void *ptr);


引数

ptr

前に呼び出した malloccallocreallocから返されたアドレス。

説明

割り当てが解除される領域の内容は変更されません。

HP C for OpenVMS システムでは, free関数と cfree関数は同じです。他の一部の C インプリメンテーションでは, mallocまたは reallocに対しては freeを使用し, callocに対しては cfreeを使用します。しかし,ANSI C 標準には cfreeが含まれていないため, freeを使用する方が適切です。

freeも参照してください。


chdir

デフォルト・ディレクトリを変更します。

形式

#include <unistd.h>

int chdir (const char *dir_spec); (ISO POSIX-1)

int chdir (const char *dir_spec, ...); (HP C Extension)


引数

dir_spec

OpenVMS 形式または UNIX 形式の指定でディレクトリ名を指定するヌル区切り文字列。

...

この引数は,標準関連の機能テスト・マクロ ( 『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.5 節を参照 ) が定義されておらず,厳密な ANSI C モード (/STANDARD=ANSI89) でコンパイルしていないときに使用できる HP C の拡張機能です。引数は int型の省略可能なフラグであり,USER モードから chdirを呼び出す場合にのみ有効です。

フラグの値が 1 の場合は,新しいディレクトリは複数のイメージ間で有効です。値が 1 でない場合は,イメージが終了するときに元のデフォルト・ディレクトリが復元されます。


説明

chdir関数はデフォルト・ディレクトリを変更します。永久的な変更または一時的な変更が可能です。永久的な変更とは,イメージが終了した後も,新しいディレクトリがデフォルト・ディレクトリとして有効になることを示します。一時的な変更とは,イメージが終了したときに,デフォルト・ディレクトリがイメージの実行前のディレクトリに戻されることを示します。

永久的な変更は次の 2 種類の方法で行うことができます。

この 2 種類の方法以外の場合は,変更は一時的になります。


戻り値

0 指定された名前にディレクトリを変更する処理が正常終了したことを示します。
- 1 変更が失敗したことを示します。


chmod

ファイルの保護を変更します。

形式

#include <stat.h>

int chmod (const char *file_spec, mode_t mode);


引数

file_spec

OpenVMS 形式または UNIX 形式のファイル指定の名前。

mode

ファイル保護。モードは, 表 REF-2 に示した値のビット単位の論理和 (OR) を求めることにより作成されます。

表 REF-2 ファイル保護の値とその意味
特権
0400 OWNER:READ
0200 OWNER:WRITE
0100 OWNER:EXECUTE
0040 GROUP:READ
0020 GROUP:WRITE
0010 GROUP:EXECUTE
0004 WORLD:READ
0002 WORLD:WRITE
0001 WORLD:EXECUTE

mode の値が 0 の場合は, chmod関数はファイルにユーザのデフォルト・ファイル保護を割り当てます。

システムにはオーナと同じ特権が与えられます。 WRITE 特権を割り当てると,DELETE 特権も暗黙に割り当てられます。


説明

ファイルのモードを変更するには,そのファイルに対して WRITE 特権が必要です。

戻り値

0 モードが正しく変更されたことを示します。
- 1 変更が失敗したことを示します。


chown

ファイルのオーナのユーザ識別コード (UIC) を変更します。

形式

#include <unistd.h>

int chown (const char *file_spec, uid_t owner, gid_t group);


引数

file_spec

ASCII ファイル名のアドレス。

owner

ファイルの新しいオーナ UIC に対応する整数。

group

ファイルのグループ UIC に対応する整数。

戻り値

0 正常終了を示します。
- 1 異常終了を示します。


[w]clear

指定されたウィンドウの内容を消去し,カーソルを座標 (0,0) にリセットします。 clear関数は stdscrウィンドウに対して動作します。

形式

#include <curses.h>

int clear();

int wclear (WINDOW *win);


引数

win

ウィンドウを指すポインタ。

戻り値

OK 正常終了を示します。
ERR エラーを示します。


clearerr

ファイルのエラー指示子および EOF 指示子をリセットします (したがって, ferrorfeofは 0 以外の値を返しません)。

形式

#include <stdio.h>

void clearerr (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。

clearok

ウィンドウのクリア・フラグを設定します。

形式

#include <curses.h>

clearok (WINDOW *win, bool boolf);


引数

win

端末画面全体のサイズ。 clearok関数はウィンドウ stdscrおよび curscrに対して使用できます。

boolf

論理値 TRUE または FALSE。引数が TRUE の場合は, refreshを次回呼び出したときに,クリアスクリーンが出力されます。 boolf が FALSE の場合は,画面のクリアは停止されます。

bool型は,次に示すように <curses.h>ヘッダ・ファイルに定義されています。


#define bool int 


説明

clear関数と異なり, clearok関数はウィンドウの内容を変更しません。win 引数が curscrの場合は, refreshを次に呼び出したときに, refreshに渡されたウィンドウが端末画面全体のサイズのウィンドウでない場合でも,クリアスクリーンが実行されます。

clock

プロセスの開始時から使用された CPU 時間 (10 ミリ秒単位) を返します。報告される時間は呼び出しプロセスのユーザ時間とシステム時間の合計,および呼び出しプロセスが waitまたは systemを実行した,終了済み子プロセスの時間の合計です。

形式

#include <time.h>

clock_t clock (void);


説明

秒単位の時間を取得するには, clock関数から返された値を,標準ヘッダ・ファイル <time.h>に定義されている CLK_TCK の値で除算する必要があります。

clock_t型は,次に示すように <time.h>ヘッダ・ファイルに定義されています。


typedef long int clock_t; 

C メイン・プログラムや,VAXC$CRTL_INIT または DECC$CRTL_INIT を呼び出すプログラムを実行する子プロセスの累積時間だけが含まれます。

clock関数は通常,プログラムが初期設定を終了した後呼び出され,時間を測定する対象となるコードをプログラムが実行した後,再び呼び出されます。その後, 2 つの値の差を求めることにより,経過 CPU 時間が算出されます。


戻り値

n 使用されたプロセッサ時間。
- 1 使用されたプロセッサ時間を取得できなかったことを示します。


clock_getres (Alpha only)

指定されたクロックの精度を取得します。

形式

#include <time.h>

int clock_getres (clockid_t clock_id, struct timespec *res);


引数

clock_id

精度を取得するクロックのタイプ。 CLOCK_REALTIME クロックがサポートされています。このクロックは,システムの TIME-OF-DAY クロックです。

res

クロックの精度の値を受け取る, timespecデータ構造体へのポインタです。

説明

clock_getres関数は,指定されたクロックの精度の値を取得します。クロックの精度は,インプリメンテーションによって決まり,プロセスが設定することはできません。

res 引数が NULL でない場合,指定されたクロックの精度は, res が指す位置に格納されます。

res が NULL の場合,クロックの精度は格納されません。

clock_settimeの時刻引数 (tp) が res の倍数でない場合,この値は res の倍数になるように切り捨てられます。

成功すると,この関数は 0 を返します。

失敗すると,この関数は - 1 を返し,エラーを示す値を errnoに設定します。

clock_gettimeclock_settimetimectimeも参照してください。


戻り値

0 成功を示します。
- 1 失敗を示します。 errno には,次の値が設定されます。

  • EINVAL -- clock_id 引数が,既知のクロックを指定していません。


clock_gettime (Alpha only)

指定されたクロックの現在の時刻 (秒およびナノ秒) を返します。

形式

#include <time.h>

int clock_gettime (clockid_t clock_id, struct timespec *tp);


引数

clock_id

設定されているクロックの時刻を取得するために使用されるクロック・タイプ。 CLOCK_REALTIME クロックがサポートされています。このクロックは,システムの TIME-OF-DAY クロックです。

tp

timespecデータ構造体へのポインタ。

説明

clock_gettime関数は,指定されたクロック clock_id の現在の tp 値を返します。

成功すると,この関数は 0 を返します。

失敗すると,この関数は - 1 を返し,エラーを示す値を errnoに設定します。

clock_getresclock_settimetimectimeも参照してください。


戻り値

0 成功を示します。
- 1 失敗を示します。 errno には,次の値が設定されます。

  • EINVAL -- clock_id 引数が,既知のクロックを指定していません。または, tp 引数が 0 より小さい,または 10 億ナノ秒以上を指定しています。


clock_settime (Alpha only)

指定されたクロックへの設定を行います。

形式

#include <time.h>

int clock_settime (clockid_t clock_id, const struct timespec *tp);


引数

clock_id

設定対象のクロックのクロック・タイプ。 CLOCK_REALTIME クロックがサポートされています。このクロックは,システムの TIME-OF-DAY クロックです。

tp

timespecデータ構造体へのポインタ。

説明

clock_settime関数は,指定されたクロック clock_id に, tp で指定された値を設定します。指定されたクロックの精度の倍数でない時間値は,精度の倍数になるように切り捨てられます。

クロックは,システム単位 (つまり,すべてのプロセスから参照できる) のものと,プロセス単位 (計測時間はそのプロセスでのみ意味がある) のもののどちらでも構いません。

<time.h>に定義されている CLOCK_REALTIME クロックは,システムのリアルタイム・クロックです。このクロックでは, clock_settimeで指定する値と clock_gettimeで返される値は,エポックからの経過時間 (秒およびナノ秒) を示します。エポックは,グリニッジ標準時 (GMT) 1970 年 1 月 1 日 00:00:00:00 と定義されています。

clock_settime関数を使用するには,OPER,LOG_IO,および SYSPRV 特権が必要です。

成功すると,この関数は 0 を返します。

失敗すると,この関数は - 1 を返し,エラーを示す値を errnoに設定します。

clock_getresclock_gettimetimectimeも参照してください。


戻り値

0 成功を示します。
- 1 失敗を示します。 errno には,次の値が設定されます。

  • EINVAL -- clock_id 引数が,既知のクロックを指定していません。または, tp 引数が,指定された clock_id の範囲外か, 0 より小さいまたは 10 億ナノ秒以上を指定しています。

  • EPERM -- 要求元プロセスには,指定されたクロックに設定を行うための適切な特権がありません。


前へ 次へ 目次 索引