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


前へ 次へ 目次 索引



fgetws

指定されたファイルから 1 行のワイド文字を読み込みます。

形式

#include <wchar.h>

wchar_t *fgetws (wchar_t *wstr, int maxchar, FILE *file_ptr);

関数バリアント fgetws関数には, _fgetws32および _fgetws64という名前のバリアントがあり,それぞれ 32 ビット・ポインタ・サイズおよび 64 ビット・ポインタ・サイズで使用されます。ポインタ・サイズ固有の関数の使い方の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.10 節を参照してください。

引数

wstr

ファイルから読み込んだ情報を格納できるたけの十分な大きさのワイド文字の文字列を指すポインタ。

maxchar

読み込むワイド文字の最大文字数。

file_ptr

ファイル・ポインタ。

説明

fgetws関数は,指定されたファイルからワイド文字を読み込み, wstr によって示される配列に格納します。この関数は,maxchar - 1 文字まで読み込むか,改行文字が読み込まれ,変換され,wstr に転送されるまで読み込むか,またはファイルの終端 (EOF) 条件が検出されるまで読み込みます。行末はヌル・ワイド文字で区切られます。読み込んだ文字数が maxchar 文字より少ない場合, fgetwsは入力行の最後に改行文字を付けてユーザ・バッファに格納します。

戻り値

x wstr を指すポインタ。
NULL ファイルの終端 (EOF) またはエラーを示します。読み込みエラーが発生した場合, wstr の内容は未定義です。読み込みエラーが発生した場合, errno が設定されます。設定される可能性のある errno の値の一覧については, fgetwc を参照してください。



#include <stdlib.h> 
#include <stdio.h> 
#include <locale.h> 
#include <wchar.h> 
 
main() 
{ 
    wchar_t wstr[80], 
           *ret; 
    FILE *fp; 
 
    /* Create a dummy data file  */ 
 
    if ((fp = fopen("file.dat", "w+")) == NULL) { 
        perror("open"); 
        exit(1); 
    } 
 
    fprintf(fp, "this is a test\n") ; 
    fclose(fp) ; 
 
   /* Open a test file containing : "this is a test" */ 
 
    if ((fp = fopen("file.dat", "r")) == (FILE *) NULL) { 
        perror("File open error"); 
        exit(EXIT_FAILURE); 
    } 
 
    ret = fgetws(wstr, 80, fp); 
    if (ret == (wchar_t *) NULL) { 
        perror("fgetws failure"); 
        exit(EXIT_FAILURE); 
    } 
 
    fputws(wstr, stdout); 
    fclose(fp); 
    delete("file.dat"); 
} 


fileno

指定されたファイル・ポインタに関連付けられているファイル記述子を返します。

形式

#include <stdio.h>

int fileno (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。

説明

バージョン 5.2 またはそれ以前のバージョンの C コンパイラを使用する場合は, filenoマクロの定義を解除します。


#if defined(fileno) 
#undef fileno 
#endif 


戻り値

x 整数のファイル記述子。
- 1 エラーを示します。


finite (Alpha only)

引数が有限の数値の場合は整数値 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 を返します。

floor

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

形式

#include <math.h>

double floor (double x);

float floorf (float x); (Alpha only)

long double floorl (long double x); (Alpha only)


引数

x

実数値。

戻り値

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


fmod

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

形式

#include <math.h>

double fmod (double x, double y);

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

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


引数

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 only)

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 エラーが発生したことを示します。


前へ 次へ 目次 索引