HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
引数をヌル区切りの ASCII 数字列に変換し,数字列のアドレスを返します。数字列は HP C RTL で作成されたスレッド固有の記憶位置に格納されます。
#include <stdlib.h>char *fcvt (double value, int ndigits, int *decpt, int *sign);
value
ヌル区切りの ASCII 数字列に変換される double型のオブジェクト。ndigits
変換後の数字列で使用される小数点以下の ASCII 桁数。decpt
返される数字列の 1 文字目を基準にした小数点の位置。返される数字列には実際の小数点は含まれません。 intの値が負の値の場合は,小数点の位置は,返された数字列の左側に decpt 個のスペースを付加した位置になります ( スペースには 0 が埋められます )。値が 0 の場合は,小数点の位置は返された数字列の最初の桁のすぐ左に設定されます。sign
value 引数が正の値であるか,負の値であるかを示す整数値。 value が負の場合は, fcvt関数は sign によって指定されるアドレスに 0 以外の値を格納します。負でない場合は,この関数は sign によって指定されるアドレスに 0 を代入します。
fcvt関数は,value をヌル区切り数字列に変換し,その数字列を指すポインタを返します。返される下位桁は,C の F 形式で ndigits 桁を出力するために,適切な桁に丸められます。decpt 引数には,数字列の最初の数字を基準にした小数点の位置が代入されます。C の F 形式では,ndigits は小数点以下の桁数です。非常に大きい数値の場合,小数点の左側の数字列が非常に長くなり,小数点以下の桁数は ndigit になります。大きい数値の場合,E 形式が使用されるように, gcvtまたは ecvt関数を使用する方が適切です。
fcvt関数を繰り返し呼び出すと,既存の数字列は上書きされます。
ecvt, fcvt, gcvt関数は,浮動小数点演算に関して IEEE 標準で指定されている次の特殊な値を表します。
値 表現 クワイエット NaN NaNQ シグナリング NaN NaNS +無限大 無限大 - 無限大 - 無限大
これらの各値に割り当てられる符号は,sign 引数に格納されます。 IEEE 浮動小数点表現では,0 (ゼロ) という値は正の場合も負の場合もあり,どちらであるかは sign 引数によって設定されます。
gcvtと ecvtも参照してください。
x 変換後の数字列を指すポインタ。
引数の正の差分を調べます。
#include <math.h>double fdim (double x, double y);
float fdimf (float x, float y);
long double fdiml (long double x, long double y);
x
実数値。y
実数値。
fdim関数は,指定した引数について,その正の差分を調べます。 x が y より大きい場合は, x - y を返します。 x が y 以下である場合は,+0 を返します。
n 正の差分がとれたことを示します。 n は,その正の差分値です。 HUGE_VAL x - y の値は正ですが,オーバフローしました。 errno には ERANGE が設定されます。 0 x - y の値は正ですが,アンダフローしました。 errno には ERANGE が設定されます。 NaN x または y が NaN です。 errno には EDOM が設定されます。
ファイル・ポインタを, open, creat, dup, dup2, pipe関数から返されたファイル記述子に関連付けます。
#include <stdio.h>FILE *fdopen (int file_desc, char *a_mode);
file_desc
open, creat, dup, dup2, pipeから返されたファイル記述子。a_mode
アクセス・モード指示子。詳細については, fopen関数を参照してください。指定するアクセス・モードは,ファイルをオープンするために使用したモードと一致しなければなりません。バイナリ/テキスト・アクセス・モード ( fdopenの "b" モードおよび creatや openの "ctx=bin" オプション) も含まれます。
fdopen関数を使用すると, UNIX I/O 関数のいずれかでオープンされているファイルに,標準 I/O 関数を使用してアクセスすることができます。通常,ファイルにアクセスするには,そのファイルをオープンした方法に応じて,ファイル記述子またはファイル・ポインタを使用しますが,両方を使用してアクセスすることはできません。詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1 章および第 2 章を参照してください。
ポインタ 操作が正常終了したことを示します。 NULL エラーが発生したことを示します。
ファイルがファイルの終端 (EOF) に到達しているかどうかを判定します。
#include <stdio.h>int feof (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
0 以外の整数 ファイルの終端 (EOF) に到達したことを示します。 0 ファイルの終端 (EOF) に到達していないことを示します。
feof関数と同様ですが, flockfileと funlockfileで保護された範囲だけで使用します。
#include <stdio.h>int feof_unlocked (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
リエントラント版である feof関数は,複数スレッドからの同時呼び出しに対してロックされます。その結果,ストリームの一貫性を保証するためのオーバヘッドが生じます。アンロック版である feof_unlockedを使用すると,このオーバヘッドを避けることができます。 feof_unlocked関数は, feof関数と機能的に同じですが,スレッド・セーフな方法で実装する必要がない点が異なります。 feof_unlocked関数は, flockfile関数と funlockfile関数を対で使用して保護された範囲内でだけ,安全に使用することができます。呼び出し元は, feof_unlockedを使用する前に,ストリームを確実にロックする必要があります。flockfile, ftrylockfile,および funlockfileも参照してください。
0 以外の整数 ファイルの終端に到達したことを示します。 0 ファイルの終端に到達していないことを示します。
ファイルの読み込みまたは書き込みでエラーが発生した場合, 0 以外の整数を返します。
#include <stdio.h>int ferror (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
ferrorを呼び出すと,ファイルがクローズされるまで,または clearerrが呼び出されるまで,0 以外の整数が返されます。
0 正常終了を示します。 0 以外の整数 エラーが発生したことを示します。
ferror関数と同様ですが, flockfileと funlockfileで保護された範囲内だけで使用します。
#include <stdio.h>int ferror_unlocked (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
リエントラント版である ferror関数は,複数スレッドからの同時呼び出しに対してロックされます。その結果,ストリームの一貫性を保証するためのオーバヘッドが生じます。アンロック版である ferror_unlockedを使用すると,このオーバヘッドを避けることができます。 ferror_unlocked関数は, ferror関数と機能的に同じですが,スレッド・セーフな方法で実装する必要がない点が異なります。 ferror_unlocked関数は, flockfile関数と funlockfile関数を対で使用して保護された範囲内でだけ,安全に使用することができます。呼び出し元は, ferror_unlockedを使用する前に,ストリームを確実にロックする必要があります。flockfile, ftrylockfile,および funlockfileも参照してください。
0 成功を示します。 0 以外の整数 エラーが発生したことを示します。
バッファに格納されている情報を指定されたファイルに書き込みます。
#include <stdio.h>int fflush (FILE *file_ptr);
file_ptr
ファイル・ポインタ。この引数が NULL ポインタの場合は,現在オープンされているすべてのファイルに関連付けられているすべてのバッファの内容が書き込まれます。
出力ファイルは通常,端末に出力される場合にだけバッファに格納されます。ただし, stderrの場合は例外で,デフォルトではバッファに格納されません。fflush関数は, HP C RTL バッファの内容を書き込みます。しかし,RMS には独自のバッファがあります。 fflush関数を呼び出しても,ファイルがディスクに書き込まれるという保証はありません ( バッファをディスクに書き込む方法については, fsyncの説明を参照してください )。
file_ptr によって示されるファイルがレコード・モードでオープンされていて,バッファにまだ書き込まれていないデータがある場合は, fflushは常にレコードを生成します。
0 操作が正常終了したことを示します。 EOF バッファに格納されているデータをファイルに書き込むことができないか,ファイル制御ブロックが出力ファイルに関連付けられていないことを示します。
文字列から,セットされている最初のビットのインデックスを検索します。
#include <strings.h>int ffs (int iteger);
integer
最初のビットがセットされているかどうか確認する整数。
ffs関数は,セットされている最初のビットを検索し ( 最下位ビットから順に確認します ),そのビットのインデックスを返します。ビットには 1 ( 最下位ビット ) から順に番号が付けられます。
x セットされている最初のビットのインデックス。 0 index が 0 であることを示します。
指定されたファイルから次の文字を返します。
#include <stdio.h>int fgetc (FILE *file_ptr);
file_ptr
アクセスするファイルを指すポインタ。
fgetc関数は,指定されたファイルから次の文字を取り出して返します。__UNIX_PUTC マクロを定義してコンパイルすれば,この関数の高速インライン版を使用して,最適化できます。
fgetc_unlocked関数と getcマクロも参照してください。
x 返された文字。 EOF ファイルの終端 (EOF) またはエラーを示します。
fgetc関数と同様ですが, flockfileと funlockfileで保護された範囲内だけで使用します。
#include <stdio.h>int fgetc_unlocked (FILE *file_ptr);
file_ptr
ファイル・ポインタ。
リエントラント版である fgetc関数は,複数スレッドからの同時呼び出しに対してロックされます。その結果,ストリームの一貫性を保証するためのオーバヘッドが生じます。アンロック版である fgetc_unlockedを使用すると,このオーバヘッドを避けることができます。 fgetc_unlocked関数は fgetc関数と機能的に同じですが, fgetc_unlockedは flockfile関数と funlockfile関数を対で使用して保護された範囲内でだけ安全に使用することができる点で異なります。呼び出し元は, fgetc_unlockedを使用する前に,ストリームを確実にロックする必要があります。__UNIX_PUTC マクロを定義してコンパイルすれば,この関数の高速インライン版を使用して,最適化できます。
getc_unlocked, flockfile, ftrylockfile,および funlockfileも参照してください。
n 返された文字。 EOF ファイルの終端 (EOF) またはエラーを示します。
ファイル・ポインタに関連付けられているファイル指定を返します。
#include <stdio.h>関数バリアント fgetname関数には, _fgetname32および _fgetname64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。char *fgetname (FILE *file_ptr, char *buffer, ...);
file_ptr
ファイル・ポインタ。buffer
ファイル指定を格納できる十分な大きさの文字列を指すポインタ。...
省略可能な追加引数であり,1 または 0 に指定できます。1 を指定すると, fgetname関数は OpenVMS 形式でファイル指定を返します。 0 を指定すると,UNIX 形式でファイル指定を返します。この引数を指定しないと,現在のコマンド言語インタプリタに従ってファイル名を返します。 UNIX 形式のファイル指定の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.3 項を参照してください。
fgetname関数は,バッファ内の指定されたアドレスにファイル指定を格納します。バッファは完全に修飾されたファイル指定を格納できるだけの十分な大きさの配列でなければなりません ( 最大長は 256 文字 )。
n バッファのアドレス。 0 エラーを示します。
fgetname関数は HP C RTL 固有の関数であり,移植できません。
| 前へ | 次へ | 目次 | 索引 |