library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


OpenVMS

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


前へ 次へ 目次 索引



finite (Alpha, I64)

引数が有限の数値の場合は整数値 1 (TRUE) を返し,それ以外の場合は 0 (FALSE) を返します。

形式

#include <math.h>

int finite (double x);

int finitef (float x);

int double finitel (long double x);


引数

x

実数値。

説明

- 無限大 < x < +無限大の場合は, finite関数は 1 を返します。 |x| = 無限大または x が NaN の場合は,0 を返します。

flockfile (Alpha, I64)

stdioストリームをロックします。

形式

#include <stdio.h>

void flockfile (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。

説明

flockfile関数は, stdioストリームをロックし,複数の入出力操作にわたって,スレッドがそのストリームを排他的に使用できるようになります。たとえばあるスレッドの printfの出力と, printfを使おうとしているほかのスレッドの出力が混じらないようにしたい場合は, flockfile関数を使用します。

引数のファイル・ポインタは,正しいことが前提です。 flockfileは,ファイル・ポインタが無効でもロックを実行します。また, funlockfile関数は,呼び出し元スレッドが引数のファイル・ポインタのロックを所有していない場合でも,エラーになりません。

対応する flockfilefunlockfileの呼び出しは,ネストさせることができます。ストリームを再帰的にロックすると,対応する最後の funlockfileを呼び出すまでは,ストリームはロックされたままになります。

すべての C RTL ファイル・ポインタ入出力関数は, flockfileおよび funlockfileを呼び出したかのように,ファイル・ポインタをロックします。

ftrylockfileおよび funlockfileも参照してください。


floor

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

形式

#include <math.h>

double floor (double x);

float floorf (float x); (Alpha, I64)

long double floorl (long double x); (Alpha, I64)


引数

x

実数値。

戻り値

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


fmod

余り (浮動小数点数値) を計算します。

形式

#include <math.h>

double fmod (double x, double y);

float fmodf (float x, float y); (Alpha, I64)

long double fmodl (long double x, long double y); (Alpha, I64)


引数

x

実数値。

y

実数値。

説明

fmod関数は,最初の引数を 2 番目の引数で除算した余りを浮動小数点数値で返します。 2 番目の引数が 0 の場合は,0 が返されます。

戻り値

x 一部の整数 i に対して, x == i * y + f が成り立つ値 f。符号は x と同じです。ただし, f の大きさは y の大きさより小さい値です。
0 y が 0 であることを示します。


fopen

FILE 構造体のアドレスを返すことにより,ファイルをオープンします。

形式

#include <stdio.h>

FILE *fopen (const char *file_spec, const char *a_mode); (ANSI C)

FILE *fopen (const char *file_spec, const char *a_mode, ...); (HP C Extension)


引数

file_spec

有効なファイル指定を格納した文字列。

a_mode

アクセス・モード指示子。次のいずれかの文字列を使用します。
"r","w", "a","r+", "w+","rb", "r+b","rb+", "wb","w+b",
"wb+","ab", "a+b","ab+", "a+"。

これらのアクセス・モードを使用すると,次の結果になります。

更新アクセス・モードでは,読み込みと書き込みの両方のためにファイルをオープンすることができます。既存のファイルに対してこのモードを使用する場合, "r+" と "a+" は,ファイル内での最初の位置設定のみが異なります。各モードは次のとおりです。

...

省略可能なファイル属性引数。ファイル属性引数は, creat関数で使用される引数と同じです。詳細については, creat関数を参照してください。

説明

ファイルがすでに存在する場合は, fopenで作成される新しいファイルは,既存のファイルから特定の属性を継承します。ただし, fopenの呼び出しに指定されている属性は継承しません。次の属性が継承されます。
レコード・フォーマット
最大レコード・サイズ
キャリッジ制御
ファイル保護

ファイル名にディレクトリを指定し,そのディレクトリがエラーを含む検索リストである場合は, HP C for OpenVMS システムはファイル・オープン・エラーとして解釈します。

ファイル制御ブロックは, fclose関数を使用して解放するか,またはプログラムが正常終了するときにデフォルトで解放することができます。


戻り値

x ファイル・ポインタ。
NULL エラーを示します。定数 NULL は, <stdio.h> ヘッダ・ファイルに NULL ポインタの値として定義されています。この関数は,次のエラーを示すために NULL を返します。

  • ファイル保護違反。

  • 読み込みアクセスのために存在しないファイルをオープンしようとしました。

  • 指定されたファイルをオープンすることができません。


fp_class (Alpha, I64)

IEEE 浮動小数点数値のクラスを判断します。

形式

#include <math.h>

int fp_class (double x);

int fp_classf (float x);

int fp_classl (long double x);


引数

x

IEEE 浮動小数点数値。

説明

fp_class関数は,指定された IEEE 浮動小数点数値のクラスを判断し, <fp_class.h>ヘッダ・ファイルから定数を返します。シグナリング NaN (Not-a-Number) の場合でも,例外は発生しません。これらの関数は,バイナリ浮動小数点演算に関して IEEE 754-1985 標準の付録で勧告されている class(x)関数をインプリメントします。 <fp_class.h>内の定数は次の値クラスを参照します。

FP_SNAN シグナリング NaN (Not-a-Number)
FP_QNAN クワイエット NaN
FP_POS_INF +無限大
FP_NEG_INF - 無限大
FP_POS_NORM 正の正規化
FP_NEG_NORM 負の正規化
FP_POS_DENORM 正の非正規化
FP_NEG_DENORM 負の非正規化
FP_POS_ZERO +0.0 (正のゼロ)
FP_NEG_ZERO - 0.0 (負のゼロ)


戻り値

x <fp_class.h> ヘッダ・ファイルに定義されている定数。


fpathconf

ファイル・インプリメンテーション属性を取得します。

形式

#include <unistd.h>

long int fpathconf (int filedes, int name);


引数

filedes

オープンされているファイル記述子。

name

取得する構成属性。この属性を filesdes 引数によって指定されるファイルに適用できない場合は, fpathconfはエラーを返します。

説明

fpathconf関数を使用すると,アプリケーションは filesdes 引数によって指定されるファイルの基礎になるファイル・システムでサポートされる操作の属性を取得することができます。指定されたファイルの読み込みアクセス許可,書き込みアクセス許可,実行アクセス許可は必要ありませんが,ファイルまでのパス内のすべてのディレクトリを検索できなければなりません。

name 引数のシンボル値は,次に示すように <unistd.h>ヘッダ・ファイルに定義されています。

_PC_LINK_MAX ファイルへのリンクの最大数。 filedes 引数がディレクトリを参照する場合は,返される値はディレクトリ自体に適用されます。
_PC_MAX_CANON 標準的な入力行の最大バイト数。これは端末デバイスにのみ適用されます。
_PC_MAX_INPUT 入力キューで認められるタイプの数。これは端末デバイスにのみ適用されます。
_PC_NAME_MAX ファイル名の最大バイト数 ( 区切り文字のヌルは含みません )。値の範囲は 13〜255 です。これはディレクトリ・ファイルにのみ適用されます。返される値はディレクトリ内のファイル名に適用されます。
_PC_PATH_MAX パス名の最大バイト数 ( 区切り文字のヌルは含みません )。値は 65,535 以下でなければなりません。これはディレクトリ・ファイルにのみ適用されます。指定したディレクトリがワーキング・ディレクトリの場合は,返される値は相対パス名の最大長です。
_PC_PIPE_BUF 自動的に書き込まれることが保証される最大バイト数。これは FIFO にのみ適用されます。返される値は参照されたオブジェクトに適用されます。 path 引数がディレクトリを参照する場合は,返される値は,既存の FIFO,またはディレクトリ内で作成可能な FIFO に適用されます。
_PC_CHOWN_RESTRICTED 返される値は,既存のファイル ( ディレクトリ以外 ) に適用されるか,またはディレクトリ内で作成可能なファイルに適用されます。これはディレクトリ・ファイルにのみ適用されます。
_PC_NO_TRUNC NAME_MAX で指定される長さより長いコンポーネント名を指定することにより,エラーが発生する場合は,1 を返します。長いコンポーネント名が切り捨てられる場合は,0 (ゼロ) を返します。これはディレクトリ・ファイルにのみ適用されます。
_PC_VDISABLE これは常に 0 (ゼロ) です。無効にする文字は定義されていません。これは端末デバイスにのみ適用されます。


戻り値

x name 引数に指定された構成属性の値。
- 1 エラーを示します。 errno は次のいずれかの値に設定されます。

  • EINVAL--- name 引数が不明の属性または適用できない属性を指定しています。

  • EBADF--- filedes 引数が不正なファイル記述子です。


fprintf

指定したファイルに対して書式設定した出力を実行します。

形式

#include <stdio.h>

int fprintf (FILE *file_ptr, const char *format_spec, ...);


引数

file_ptr

出力先のファイルを指すポインタ。

format_spec

書式指定を格納した文字列を指すポインタ。書式指定および変換文字の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。

...

省略可能な式であり,これらの式の型は,書式指定に指定した変換指定に対応します。

変換指定を指定しない場合は,出力ソースを省略できます。変換指定を指定する場合は,関数呼び出しに変換指定と正確に同じ数の出力ソースを指定する必要があります。変換指定は出力ソースの型と一致しなければなりません。

変換指定は左から右への順に出力ソースに対応付けられます。出力ソースの数の方が多い場合は,超過するソースは無視されます。


次の例は変換指定を示しています。


#include <stdio.h> 
 
main() 
{ 
   int  temp = 4, temp2 = 17; 
 
   fprintf(stdout, "The answers are %d, and %d.", temp, temp2); 
} 

この例は, stdoutファイルに次の文字列を出力します。


The answers are 4, and 17. 

書式指定と出力ソースの詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。


戻り値

x 区切り文字のヌルを除き,書き込んだバイト数。
負の値 エラーを示します。 errno は次のいずれかに設定されます。

  • EILSEQ---不正な文字が検出されました。

  • EINVAL---引数の数が不足しています。

  • ENOMEM---変換のために使用できるメモリが不足しています。

  • ERANGE---浮動小数点演算オーバフローが発生しました。

  • EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno には OpenVMS エラー・コードが格納されます。これは,オーバフローが発生したために,数値への変換が失敗したことを示します。

  I/O サブシステムからエラーが返された場合,この関数は errno を次の値に設定します。

  • EBADF---ファイル記述子が不正です。

  • EIO---I/O エラー。

  • ENOSPC---ファイルを格納しているデバイスに空き領域がありません。

  • ENXIO---デバイスが存在しません。

  • EPIPE---パイプが壊れています。

  • ESPIPE---追加のためにオープンされたファイルで不正なシークが行われました。

  • EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno には OpenVMS エラー・コードが格納されます。これは,対応する C エラー・コードが定義されていない I/O エラーが発生したことを示します。


fputc

1 文字を指定のファイルに書き込みます。

形式

#include <stdio.h>

int fputc (int character, FILE *file_ptr);


引数

character

int型のオブジェクト。

file_ptr

ファイル・ポインタ。

説明

fputc関数は 1 文字を指定されたファイルに書き込み,その文字を返します。

fputc_unlocked関数と putcマクロも参照してください。


戻り値

x ファイルに書き込んだ文字。正常終了を示します。
EOF 出力エラーを示します。


前へ 次へ 目次 索引