HP OpenVMS Systems Documentation |
| 前へ | 次へ | 目次 | 索引 |
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> ヘッダ・ファイルに定義されている定数。
ファイル実装属性を取得します。
#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 引数が不正なファイル記述子です。
指定したファイルに対して書式設定した出力を実行します。
#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 エラーが発生したことを示します。
1 文字を指定のファイルに書き込みます。
#include <stdio.h>int fputc (int character, FILE *file_ptr);
character
int型のオブジェクト。file_ptr
ファイル・ポインタ。
fputc関数は 1 文字を指定されたファイルに書き込み,その文字を返します。__UNIX_PUTC マクロを定義してコンパイルすれば,この関数の高速インライン版を使用して,最適化できます。
fputc_unlocked関数と putcマクロも参照してください。
x ファイルに書き込んだ文字。正常終了を示します。 EOF 出力エラーを示します。
fputc関数と同様ですが, flockfileと funlockfileで保護された範囲内だけで使用します。
#include <stdio.h>int fputc_unlocked (int character, FILE *file_ptr);
character
書き込む文字。 int型のオブジェクト。file_ptr
ファイル・ポインタ。
putc_unlockedマクロを参照してください。__UNIX_PUTC マクロを定義してコンパイルすれば,この関数の高速インライン版を使用して,最適化できます。
flockfile, ftrylockfile,および funlockfileも参照してください。
n 返された文字。 EOF ファイルの終端 (EOR) またはエラーを示します。
文字列をファイルに書き込みます。ただし,文字列のヌル区切り文字 (\0) はコピーしません。
#include <stdio.h>int fputs (const char *str, FILE *file_ptr);
str
文字列を指すポインタ。file_ptr
ファイル・ポインタ。
putsと異なり, fputs関数は出力文字列の末尾に改行文字を追加しません。putsも参照してください。
負でない値 正常終了を示します。 EOF エラーを示します。
1 文字のワイド文字を対応するマルチバイト値に変換し,結果を指定のファイルに書き込みます。
#include <wchar.h>wint_t fputwc (wint_t wc, FILE *file_ptr);
wc
wint_t型のオブジェクト。file_ptr
ファイル・ポインタ。
fputwc関数は, 1 文字のワイド文字をファイルに書き込み,その文字を返します。putwcも参照してください。
x ファイルに書き込んだ文字。正常終了を示します。 WEOF 出力エラーを示します。 errno は次の値に設定されます。
- EILSEQ---不正なワイド文字コードが検出されました。
I/O サブシステムからエラーが返された場合も, errno が次の値に設定されます。
- EBADF---ファイル記述子が不正です。
- EIO---I/O エラー。
- ENOSPC---ファイルを格納しているデバイスに空き領域がありません。
- ENXIO---デバイスが存在しません。
- EPIPE---パイプが壊れています。
- ESPIPE---追加のためにオープンされているファイルで不正なシークが行われました。
- EVMSERR---変換不可能な OpenVMS エラー。 vaxc$errno には OpenVMS エラー・コードが格納されます。これは,対応する C エラー・コードが定義されていない I/O エラーが発生したことを示します。
ワイド文字の文字列をファイルに書き込みます。ヌル区切り文字はコピーしません。
#include <wchar.h>int fputws (const wchar_t *wstr, FILE *file_ptr);
wstr
ワイド文字の文字列を指すポインタ。file_ptr
ファイル・ポインタ。
fputws関数は,指定されたワイド文字の文字列をマルチバイト文字列に変換し,その文字列を指定のファイルに書き込みます。ヌル・ワイド文字に対応する区切り文字のヌル・バイトは出力文字列に追加されません。
負でない値 正常終了を示します。 - 1 エラーを示します。この関数は errno を設定します。値の一覧については, fputwc を参照してください。
指定の数の項目をファイルから読み込みます。
#include <stdio.h>size_t fread (void *ptr, size_t size_of_item, size_t number_items, FILE *file_ptr);
ptr
メモリ内の記憶位置を指すポインタ。読み込んだ情報はその記憶位置に格納されます。ポインタが示すオブジェクトの型は,読み込む項目の型によって決定されます。size_of_item
読み込む項目のサイズ (バイト数)。number_items
読み込む項目の数。file_ptr
項目を読み込むファイルを示すポインタ。
size_t型は,次に示すように <stdio.h>ヘッダ・ファイルに定義されています。
typedef unsigned int size_t
読み込みはファイルの現在の位置から開始されます。読み込んだ項目は,最初の引数によって指定される記憶位置から始まる記憶域に格納されます。項目のサイズもバイト数で指定しなければなりません。
file_ptr によって示されるファイルがレコード・モードでオープンされている場合は, freadは size_of_item に number_items を乗算したバイト数をファイルから読み込みます。つまり,必ずしも number_items によって示される数のレコードが読み込まれるわけではありません。
n 読み込んだバイト数を size_of_item で除算した値。 0 ファイルの終端 (EOF) またはエラーを示します。
前に実行した calloc, malloc, realloc呼び出しで割り当てられた領域の割り当てを解除して,再割り当て可能な状態にします。
#include <stdlib.h>void free (void *ptr);
ptr
malloc, calloc, reallocの前の呼び出しから返されたアドレス。 ptr が NULL ポインタの場合は,動作は何も実行されません。
ANSI C 標準では, freeは値を返さない関数として定義されています。したがって, freeの関数プロトタイプは,戻り値の型が voidで宣言されています。しかし, freeが異常終了することもあり, HP C RTL の以前のバージョンでは, freeは intを返すように宣言されていたため, freeの実装では,正常終了時に 0,異常終了時に - 1 を返します。
| 前へ | 次へ | 目次 | 索引 |