日本-日本語

製品  >  ソフトウェア  >  OpenVMS  >  マニュアル >  V8.3ライブラリ

OpenVMS マニュアル


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


前へ 次へ 目次 索引





remainder (Alpha, I64)

浮動小数点の剰余 r = x - n*y (ただし,y はゼロでない数) を返します。



形式

#include <math.h>

double remainder (double x, double y);

float remainderf (float x, float y);

long double remainderl (long double x, long double y);




引数



x

実数値。

y

実数値。



説明

これらの関数は,浮動小数点の剰余 r = x - n*y (ただし,y はゼロでない数) を返します。値 n は,値 x/y に最も近い整数,つまり,n = rint(x/y) です。

|n - x/y| = 1/2の場合は,n の値として偶数が選択されます。

remainder関数の動作は,丸めモードに依存していません。

remainder関数の機能は, remquo関数の機能と同じです。




戻り値

r 成功したことを示します。 r は,浮動小数点の剰余 r = x - ny ( y はゼロでない数) です。
NaN x または y が NaN です。




remquo (Alpha, I64)

浮動小数点の剰余 r = x - n*y (ただし,y はゼロでない数) を返します。



形式

#include <math.h>

double remquo (double x, double y, int * quo);

float remquof (float x, float y, int * quo);

long double remquol (long double x, long double y, int * quo);




引数



x

実数値。

y

実数値。

quo

商の格納先となる int 型変数へのポインタ。



説明

remquo(),remquof(),および remquol() 関数から得られる剰余は,それぞれが,remainder(),remainderf(),および remainderl() 関数から得られる剰余と同じです。また,quo が指す変数には,その符号が x/y と同じで,しかも,その絶対値が,2n を法としたときに x/y の整数商 (の絶対値) と合同になるような値を格納します (ただし,n は実装で定義される,3 以上の整数)。

remquo関数の機能は, remainder関数の機能と同じです。




戻り値

r 成功したことを示します。 n は,浮動小数点の剰余 r = x - ny ( y はゼロでない数) です。
NaN x または y が NaN です。




remove

ファイルを削除します。



形式

#include <stdio.h>

int remove (const char *file_spec);




引数



file_spec

OpenVMS または UNIX スタイルのファイル指定である文字列へのポインタ。ファイル指定は,そのバージョン番号にワイルドカードを含むことができます。したがって,たとえば filename.txt:* という形式のファイルを削除することができます。



説明

ファイル名内でディレクトリを指定し,それがエラーを含んでいる検索リストだった場合, HP C for OpenVMS システムはこれをファイル・エラーとして解釈します。

注意

DECC$ALLOW_REMOVE_OPEN_FILES 機能論理名は,オープン済みのファイルに対する remove関数の動作を制御します。通常は,この操作は失敗します。ただし,POSIX の準拠条件によれば,この操作は成功することになっています。

DECC$ALLOW_REMOVE_OPEN_FILES が有効になっている場合,この POSIX 準拠の動作が行われます。

シンボリック・リンクの削除に removeを使用した場合は,リンク自体が削除されるだけで,リンクが参照しているファイルは削除されません。

remove関数と delete関数は, HP C RTL では機能的に等価です。

deleteも参照してください。




戻り値

0 成功を示します。
ゼロ以外の値 失敗を示します。




rename

既存のファイルに新しい名前を与えます。



形式

#include <stdio.h>

int rename (const char *old_file_spec, const char *new_file_spec);




引数



old_file_spec

名前を変更するファイルの既存の名前である文字列へのポインタ。

new_file_spec

ファイルの新しい名前となる文字列へのポインタ。



説明

現在オープンされているファイルの名前を変更しようと試みた場合の動作は未定義です。 1 つの物理デバイスから別の物理デバイスへとファイルの名前を変更することはできません。古いファイル指定と新しいファイル指定は,同じデバイス上に存在している必要があります。

new_file_spec がファイル・タイプを含んでいない場合には, old_file_spec のファイル・タイプが使用されます。名前を変更して,ファイル・タイプをなくすには, new_file_spec にピリオド (.) が含まれていなくてはなりません。たとえば,次のようにすると, SYS$DISK:[]FILE.DAT が SYS$DISK:[]FILE1.DAT に変更されます。


rename("file.dat", "file1"); 

ただし,次の呼び出しは,SYS$DISK:[]FILE.DAT を SYS$DISK:[]FILE1 に変更します。


rename("file.dat", "file1."); 

注意

rename関数はファイル・タイプの特殊な処理を行うので,ファイル名引数を受け付ける C ランタイム・ライブラリ関数の呼び出しで,名前を変更したファイルの名前を指定するときには,呼び出し元は慎重になる必要があります。たとえば,次の rename関数の呼び出しの後,新しいファイルは fopen("bar.dat",...)としてオープンする必要があります。


rename("foo.dat", "bar"); 

rename関数は,DECC$RENAME_NO_INHERIT 機能論理名と DECC$RENAME_ALLOW_DIR 機能論理名の設定に影響されます。

  • DECC$RENAME_NO_INHERIT は,ファイルの新しい名前が古い名前から何か (たとえば,ファイル・タイプ) を継承するか,または完全に指定しなければならないかに影響します。

  • DECC$RENAME_ALLOW_DIR を使用すると,あいまいなファイル指定が 2 番目の引数の論理名として渡された場合にディレクトリ指定への変換を許すという以前の OpenVMS 動作にするか,ファイルからディレクトリへの名前変更を許さない UNIX 準拠の動作にするかを選択できます。

詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.6 節の DECC$RENAME_NO_INHERIT と DECC$RENAME_ALLOW_DIR の説明を参照してください。




戻り値

0 成功を示します。
ゼロ以外の値 失敗を示します。




rewind

ファイルの位置をその先頭に設定します。



形式

#include <stdio.h>

void rewind (FILE *file_ptr); (ISO POSIX-1)

int rewind (FILE *file_ptr); (HP C Extension)




引数



file_ptr

ファイル・ポインタ。



説明

rewind関数は, fseek (file_ptr, 0, SEEK_SET)と等価です。 rewind関数は,レコード・ファイルとストリーム・ファイルのどちらでも使用できます。

rewindの呼び出しに成功すると,ファイルのエラー・インディケータはクリアされます。

ANSI C 標準は, rewindを値を返さない関数として定義しています。このため, rewindの関数プロトタイプは, voidの戻り型で宣言されています。しかし, rewindは実行に失敗する可能性があり,以前のバージョンの HP C RTL は rewindintを返す関数として宣言していたため, rewindのコードは成功時には 0 を,失敗時には - 1 を返します。

fseekも参照してください。




rewinddir

指定されたディレクトリ・ストリームの位置を,ディレクトリの先頭に再設定します。



形式

#include <dirent.h>

void rewinddir (DIR *dir_pointer);




引数



dir_pointer

オープン・ディレクトリの dir構造体へのポインタ。



説明

rewinddir関数は,指定されたディレクトリ・ストリームの位置を,ディレクトリの先頭に再設定します。また, opendir関数を使用した場合と同じように,ディレクトリ・ストリームが対応するディレクトリの現在の状態を参照するようにします。 dir_pointer 引数がディレクトリ・ストリームを参照していない場合の効果は未定義です。

<dirent.h>ヘッダ・ファイルに定義されている DIR型は,ディレクトリ・ストリームを表します。ディレクトリ・ストリームとは,特定のディレクトリ内のすべてのディレクトリ・エントリの順序付きのシーケンスです。ディレクトリ・エントリはファイルを表します。

opendirも参照してください。




rindex

文字列の中の文字を検索します。



形式

#include <strings.h>

char *rindex (const char *s, int c);

関数バリアント rindex関数は,それぞれ 32 ビットと 64 ビットのポインタ・サイズで使用するための _rindex32_rindex64という名前のバリアントを持っています。ポインタ・サイズ固有の関数の使用方法については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。


引数



s

検索対象の文字列。

c

検索しようとしている文字。



説明

rindex関数は strchr関数と同じものであり,一部の UNIX との互換性のために用意されています。



rint (Alpha, I64)

引数を,ユーザが指定した現在の IEEE 丸め向きに従って,整数値に丸めます。



形式

#include <math.h>

double rint (double x);

float rintf (float x,);

long double rintl (long double x);




引数



x

実数



説明

rint関数は, /ROUNDING_MODE コマンド・ライン修飾子で指定された現在の IEEE 丸めモードの向きの, x に最も近い整数値を返します。

現在の丸めモードが負の無限大向きである場合, rintfloorと同じです。現在の丸めモードが正の無限大向きである場合, rintceilと同じです。

|x| = 無限大の場合, rintx を返します。




戻り値

n 現在の IEEE 丸めモードの向きの, x に最も近い整数値。
NaN x は NaN です。 errno は EDOM に設定されます。




rmdir

ディレクトリ・ファイルを削除します。



形式

#include <unistd.h>

int rmdir (const char *path);




引数



path

ディレクトリ・パス名。



説明

rmdir関数は, path 引数で名前が指定されたディレクトリ・ファイルを削除します。ディレクトリが削除されるのは,それが空である場合のみです。

指定した path がシンボリック・リンクであると, rmdirが失敗して, errnoに ENOTDIR が設定されます。




説明

OpenVMS 形式の名前を使用する場合, path 引数は directory.dir の形式でなくてはなりません。



戻り値

0 成功を示します。
-1    エラーが発生しました。 errno はエラーを示す値に設定されます。




sbrk

プログラムで使用されていない,値の最も小さい仮想アドレスを決定します。



形式

#include <unistd.h>

void *sbrk (long int incr);




引数



incr

現在のブレーク・アドレスに加えるバイト数。



説明

sbrk関数は,引数によって指定されたバイト数を現在のブレーク・アドレスに加え,以前のブレーク・アドレスを返します。

プログラムが実行されると,ブレーク・アドレスはプログラムおよびデータ・ストレージ領域によって定義される最も高い位置に設定されます。したがって, sbrkは,データ領域が増大するプログラムでしか必要とされません。

sbrk(0)は現在のブレーク・アドレスを返します。




戻り値

x 前のブレーク・アドレス。
( void *)(-1)    プログラムが要求しているメモリが多すぎることを示します。




制限事項

他の C ライブラリの実装とは異なり, HP C RTL メモリ割り当て関数 ( mallocなど) は,プログラム・ヒープ・スペースの管理に brksbrkを使用しません。このため,OpenVMS システムでは, brkまたは sbrkを呼び出すとメモリ割り当てルーチンと干渉することがあります。 brkおよび sbrk関数は互換性のためにのみ用意されています。



scalb (Alpha, I64)

浮動小数点数の指数を返します。



形式

#include <math.h>

double scalb (double x, double n);

float scalbf (float x, float n);

long double scalbl (long double x, long double n);




引数



x

ゼロでない浮動小数点数。

n

整数。



説明

scalb関数は,整数 n に対して x*(2**n) を返します。



戻り値

x 実行に成功すると, x*(2** n) が返されます。
±HUGE_VAL オーバフローでは, scalb は <pm symbol>HUGE_VAL ( x のサインにより ) を返し, errno は ERANGE に認定されます。
0 アンダフローが発生しました。 errno は ERANGE に設定されます。
x x is ±Infinity.
NaN x または n は NaN です。 errno は EDOM に設定されます。


前へ 次へ 目次 索引



         印刷用画面へ

プライバシー 本サイト利用時の合意事項