HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
メッセージ・カタログをオープンします。
#include <nl_types.h>nl_catd catopen (const char *name, int oflag);
name
オープンするメッセージ・カタログの名前。oflag
int型のオブジェクトであり,カタログ・ファイルの検索で,現在のプログラムのローケルの LC_MESSAGES カテゴリのロケール・セットを使用するのか,論理名 LANG を使用するのかを指定します。
catopen関数は,name によって示されるメッセージ・カタログをオープンします。name にコロン (:),左角括弧 ([),左山括弧 (<) のいずれかが含まれている場合や,name が論理名として定義されている場合は,name はカタログの完全なファイル指定であると解釈されます。
これらの文字が含まれていない場合, catopenは, name が既存のカタログ・ファイルを指す論理名であると解釈します。name が論理名でない場合は,論理名 NLSPATH を使用して,メッセージ・カタログのファイル指定を定義します。NLSPATH はユーザのプロセスで定義されます。NLSPATH 論理名が定義されていない場合や, NLSPATH によって指定されるどのコンポーネントでもメッセージ・カタログをオープンできない場合は, SYS$NLSPATH 論理名を使用してメッセージ・カタログ・ファイルを検索します。
NLSPATH と SYS$NLSPATH はどちらもコンマ区切りのテンプレート・リストです。 catopen関数は各テンプレートを使用してファイル指定を作成します。たとえば,NLSPATH は次のように定義することができます。
DEFINE NLSPATH SYS$SYSROOT:[SYS$I18N.MSG]%N.CAT,SYS$COMMON:[SYSMSG]%N.CAT
この例では, catopenはまず,ディレクトリ SYS$SYSROOT:[SYS$I18N.MSG] から指定されたカタログを検索します。指定されたカタログが見つからない場合は,ディレクトリ SYS$COMMON:[SYSMSG] を検索します。カタログ名は,%N を catopenに渡された名前に置き換え,接尾語 .cat を追加することにより作成されます。%N は置換フィールドと呼ばれます。次の置換フィールドは有効です。
フィールド 意味 %N catopen に渡された name を置き換える。 %L 1 ロケール名を置き換える。 ロケール名で使用されているピリオド (.) とアットマーク記号 (@) は,下線 (_) 文字に置き換えられる。
たとえば,ロケール名が "zh_CN.dechanzi@radical" の場合は, ZH_CN_DECHANZI_RADICAL に置換される。
%l 1 ロケール名の language の部分を置き換える。たとえば, en_GB.ISO8859-1 というロケール名で language の部分は en である。 %t 1 ロケール名の territory の部分を置き換える。たとえば, en_GB.ISO8859-1 というロケール名で territory の部分は GB である。 %c 1 ロケール名の codeset 名を置き換える。たとえば, en_GB.ISO8859-1 というロケール名で codeset 名は ISO8859-1 である。
oflag 引数が NL_CAT_LOCALE に設定されている場合は, LC_MESSAGES カテゴリに対して定義されている現在のロケールを使用して, %L,%l,%t,%c 置換フィールドの置換を判断します。 oflag 引数が 0 に設定されている場合は, LANG 環境変数の値をロケール名として使用して,これらのフィールドの置換を判断します。 NL_CAT_LOCALE の使用は XPG4 仕様に準拠していますが, XPG3 との互換性を維持するために 0 という値が存在することに注意してください。また, catopenでは LANG 環境変数の値を使用しますが,この値を使用してプログラムのロケールを設定できるかどうかの確認は行いません。つまり, catopenは setlocale呼び出しで,この値が有効なロケール引数として機能するかどうかを確認しません。
置換値が定義されていない場合は,空文字列に置換されます。
先頭のコンマまたは 2 つの隣接するコンマ (,,) は %N の指定に相当します。次の例を参照してください。
DEFINE NLSPATH ",%N.CAT,SYS$COMMON:[SYSMSG.%L]%N.CAT" |
この例では, catopenは次の場所をここに示した順に検索します。
x メッセージ・カタログ・ファイル記述子。呼び出しが正常終了したことを示します。この記述子は catgets および catclose の呼び出しで使用されます。 (nl_catd) - 1 エラーが発生したことを示します。 errno は次のいずれかの値に設定されます。
- EACCES---特権が不十分であるか,ファイル保護違反が発生したか,ファイルが現在別のユーザによってロックされています。
- EMFILE---プロセス・チャネル・カウントを超過しました。
- ENAMETOOLONG---メッセージ・カタログの完全なファイル指定が長すぎます。
- ENOENT---要求されたメッセージ・カタログを見つけることができませんでした。
- ENOMEM---空きメモリが不足しています。
- ENOTDIR--- name 引数の一部が有効なディレクトリでありません。
- EVMSERR--- errno のどの値にも一致しないエラーが発生しました。 vaxc$errno の値を確認してください。
y の丸められた立方根を返します。
#include <math.h>double cbrt (double y);
float cbrtf (float y);
long double cbrtl (long double y);
y
実数値。
引数 (複素数) の余弦を返します。
#include <complex.h>double complex ccos (double complex z);
float complex ccosf (float complex z);
long double complex ccosl (long double complex z);
z
複素数値。
ccos関数は,複素数 z の余弦を返します。
x 複素数の余弦値。
引数 (複素数) の双曲線余弦を返します。
#include <complex.h>double complex ccosh (double complex z);
float complex ccoshf (float complex z);
long double complex ccoshl (long double complex z);
z
複素数値。
ccosh関数は,複素数 z の双曲線余弦を返します。
x 複素数の双曲線余弦値。
引数に等しいか,それより大きい最小の整数を返します。
#include <math.h>double ceil (double x);
float ceilf (float x); (Alpha, I64)
long double ceill (long double x); (Alpha, I64)
x
実数値。
n 関数の引数に等しいか,それより大きい最小の整数。
引数 (複素数) の指数関数値を返します。
#include <complex.h>double complex cexp (double complex z);
float complex cexpf (float complex z);
long double complex cexpl (long double complex z);
z
複素数値。
cexp関数は,複素数 z の指数関数値 (e**z,つまり自然対数の底 e を z 乗した値) を計算します。
x 引数 (複素数) の指数関数値。
前に呼び出した calloc, malloc, reallocによって割り当てられた領域を再割り当て可能な状態にします。この関数は AST リエントラントです。
#include <stdlib.h>void cfree (void *ptr);
ptr
前に呼び出した malloc, calloc, reallocから返されたアドレス。
割り当てが解除される領域の内容は変更されません。HP C for OpenVMS システムでは, free関数と cfree関数は同じです。他の一部の C の実装では, mallocまたは reallocに対しては freeを使用し, callocに対しては cfreeを使用します。しかし,ANSI C 標準には cfreeが含まれていないため, freeを使用する方が適切です。
freeも参照してください。
デフォルト・ディレクトリを変更します。
#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 番目の引数を l に設定して, USER モードから chdirを呼び出す方法。
- 2 番目の引数の値にかかわらず,SUPERVISOR モードまたは EXECUTIVE モードから chdirを呼び出す方法。
この 2 種類の方法以外の場合は,変更は一時的になります。
0 指定された名前にディレクトリを変更する処理が正常終了したことを示します。 - 1 変更が失敗したことを示します。
ファイルの保護を変更します。
#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 特権が必要です。C RTL では,S_ISVTX ビットをサポートしていません。したがって,S_ISVTX モードを設定しても効果はありません。
0 モードが正しく変更されたことを示します。 - 1 変更が失敗したことを示します。
指定したファイルのユーザ ID とグループ ID を変更します。
#include <unistd.h>int chown (const char *file_spec, uid_t owner, gid_t group);
file_spec
ASCII ファイル名のアドレス。owner
ファイルの新しいユーザ ID。group
ファイルの新しいグループ ID。
0 正常終了を示します。 - 1 異常終了を示します。
引数 (複素数) の虚数部を返します。
#include <complex.h>double cimag (double complex z);
float cimagf (float complex z);
long double cimagl (long double complex z);
z
複素数値。
cimag関数は, z の虚数部を実数として返します。
x 虚数部の値。
指定されたウィンドウの内容を消去し,カーソルを座標 (0,0) にリセットします。 clear関数は stdscrウィンドウに対して動作します。
#include <curses.h>int clear();
int wclear (WINDOW *win);
win
ウィンドウを指すポインタ。
OK 正常終了を示します。 ERR エラーを示します。
ファイルのエラー指示子および EOF 指示子をリセットします (したがって, ferrorと feofは 0 以外の値を返しません)。
#include <stdio.h>void clearerr (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
| 前へ | 次へ | 目次 | 索引 |