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


前へ 次へ 目次 索引



fcvt

引数をヌル区切りの 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関数を繰り返し呼び出すと,既存の数字列は上書きされます。

ecvtfcvtgcvt関数は,浮動小数点演算に関して IEEE 標準で指定されている次の特殊な値を表します。

表現
クワイエット NaN NaNQ
シグナリング NaN NaNS
+無限大 無限大
- 無限大 - 無限大

これらの各値に割り当てられる符号は,sign 引数に格納されます。 IEEE 浮動小数点表現では,0 (ゼロ) という値は正の場合も負の場合もあり,どちらであるかは sign 引数によって設定されます。

gcvtecvtも参照してください。


戻り値

x 変換後の数字列を指すポインタ。


fdopen

ファイル・ポインタを, opencreatdupdup2pipe関数から返されたファイル記述子に関連付けます。

形式

#include <stdio.h>

FILE *fdopen (int file_desc, char *a_mode);


引数

file_desc

opencreatdupdup2pipeから返されたファイル記述子。

a_mode

アクセス・モード指示子。詳細については, fopen関数を参照してください。指定するアクセス・モードは,ファイルをオープンするために使用したモードと一致しなければなりません。バイナリ/テキスト・アクセス・モード ( fdopenの "b" モードおよび creatopenの "ctx=bin" オプション) も含まれます。

説明

fdopen関数を使用すると, UNIX I/O 関数のいずれかでオープンされているファイルに,標準 I/O 関数を使用してアクセスすることができます。通常,ファイルにアクセスするには,そのファイルをオープンした方法に応じて,ファイル記述子またはファイル・ポインタを使用しますが,両方を使用してアクセスすることはできません。詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1 章および第 2 章を参照してください。

戻り値

ポインタ 操作が正常終了したことを示します。
NULL エラーが発生したことを示します。


feof

ファイルがファイルの終端 (EOF) に到達しているかどうかを判定します。

形式

#include <stdio.h>

int feof (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。

戻り値

0 以外の整数 ファイルの終端 (EOF) に到達したことを示します。
0 ファイルの終端 (EOF) に到達していないことを示します。


ferror

ファイルの読み込みまたは書き込みでエラーが発生した場合, 0 以外の整数を返します。

形式

#include <stdio.h>

int ferror (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。

説明

ferrorを呼び出すと,ファイルがクローズされるまで,または clearerrが呼び出されるまで,0 以外の整数が返されます。

戻り値

0 正常終了を示します。
0 以外の整数 エラーが発生したことを示します。


fflush

バッファに格納されている情報を指定されたファイルに書き込みます。

形式

#include <stdio.h>

int fflush (FILE *file_ptr);


引数

file_ptr

ファイル・ポインタ。この引数が NULL ポインタの場合は,現在オープンされているすべてのファイルに関連付けられているすべてのバッファの内容が書き込まれます。

説明

出力ファイルは通常,端末に出力される場合にだけバッファに格納されます。ただし, stderrの場合は例外で,デフォルトではバッファに格納されません。

fflush関数は, HP C RTL バッファの内容を書き込みます。しかし,RMS には独自のバッファがあります。 fflush関数を呼び出しても,ファイルがディスクに書き込まれるという保証はありません ( バッファをディスクに書き込む方法については, fsyncの説明を参照してください )。

file_ptr によって示されるファイルがレコード・モードでオープンされていて,バッファにまだ書き込まれていないデータがある場合は, fflushは常にレコードを生成します。


戻り値

0 操作が正常終了したことを示します。
EOF バッファに格納されているデータをファイルに書き込むことができないか,ファイル制御ブロックが出力ファイルに関連付けられていないことを示します。


ffs

文字列から,セットされている最初のビットのインデックスを検索します。

形式

#include <strings.h>

int ffs (int iteger);


引数

integer

最初のビットがセットされているかどうか確認する整数。

説明

ffs関数は,セットされている最初のビットを検索し ( 最下位ビットから順に確認します ),そのビットのインデックスを返します。ビットには 1 ( 最下位ビット ) から順に番号が付けられます。

戻り値

x セットされている最初のビットのインデックス。
0 index が 0 であることを示します。


fgetc

指定されたファイルから次の文字を返します。

形式

#include <stdio.h>

int fgetc (FILE *file_ptr);


引数

file_ptr

アクセスするファイルを指すポインタ。

説明

getcマクロを参照してください。

戻り値

x 返された文字。
EOF ファイルの終端 (EOF) またはエラーを示します。


fgetname

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

形式

#include <stdio.h>

char *fgetname (FILE *file_ptr, char *buffer, ...);

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

引数

file_ptr

ファイル・ポインタ。

buffer

ファイル指定を格納できる十分な大きさの文字列を指すポインタ。

...

省略可能な追加引数であり,1 または 0 に指定できます。1 を指定すると, fgetname関数は OpenVMS 形式でファイル指定を返します。 0 を指定すると,UNIX 形式でファイル指定を返します。この引数を指定しないと,現在のコマンド言語インタプリタに従ってファイル名を返します。 UNIX 形式のファイル指定の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 1.4.3 項を参照してください。

説明

fgetname関数は,バッファ内の指定されたアドレスにファイル指定を格納します。バッファは完全に修飾されたファイル指定を格納できるだけの十分な大きさの配列でなければなりません ( 最大長は 256 文字 )。

戻り値

n バッファのアドレス。
0 エラーを示します。


制限事項

fgetname関数は HP C RTL 固有の関数であり,移植できません。

fgetpos

指定されたファイルの現在のファイルの位置を格納します。

形式

#include <stdio.h>

int fgetpos (FILE *stream, fpos_t *pos);


引数

stream

ファイル・ポインタ。

pos

インプリメンテーションで定義されている構造体を指すポインタ。 fgetpos関数はこの構造体に,この後の fsetposの呼び出しで使用できる情報を格納します。

説明

fgetpos関数は,stream によって示されるストリームのファイル位置指示子の現在の値を, pos によって示されるオブジェクトに格納します。

戻り値

0 正常終了を示します。
- 1 エラーが発生したことを示します。



#include <stdio.h> 
#include <stdlib.h> 
 
main() 
{ 
    FILE *fp; 
    int stat, 
        i; 
    int character; 
    char ch, 
         c_ptr[130], 
         d_ptr[130]; 
    fpos_t posit; 
 
    /* Open a file for writing.  */ 
 
    if ((fp = fopen("file.dat", "w+")) == NULL) { 
        perror("open"); 
        exit(1); 
    } 
    
   /* Get the beginning position in the file.  */ 
 
    if (fgetpos(fp, &posit) != 0) 
        perror("fgetpos"); 
 
    /* Write some data to the file. */ 
 
    if (fprintf(fp, "this is a test\n") == 0) { 
        perror("fprintf"); 
        exit(1); 
    } 
 
    /* Set the file position back to the beginning. */ 
 
    if (fsetpos(fp, &posit) != 0) 
        perror("fsetpos"); 
 
    fgets(c_ptr, 130, fp); 
    puts(c_ptr);        /* Should be "this is a test."  */ 
 
    /* Close the file. */ 
 
    if (fclose(fp) != 0) { 
        perror("close"); 
        exit(1); 
    } 
 
}   


fgets

指定されたファイルから 1 行を読み込みます。指定された最大文字数,または改行文字まで ( どちらか最初に検出された方 ) を読み込みます。文字列は str に格納されます。

形式

#include <stdio.h>

char *fgets (char *str, int maxchar, FILE *file_ptr);

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

引数

str

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

maxchar

読み込む最大文字数。

file_ptr

ファイル・ポインタ。

説明

fgets関数は,行をヌル文字 (\0) で区切ります。 gets関数と異なり, fgets関数は,読み込んだ文字数が maxchar に指定された文字数より少ない場合,入力行を区切るために改行文字をユーザ・バッファに追加します。

file_ptr によって示されるファイルがレコード・モードでオープンされている場合は, fgetsはレコードの終端を改行文字と同じ方法で取り扱います。したがって,改行文字までを読み込むか,またはレコードの終端までを読み込みます。


戻り値

x str を指すポインタ。
NULL ファイルの終端 (EOF) またはエラーを示します。読み込みエラーが発生した場合は, str の内容は未定義です。



#include <stdio.h> 
#include <stdlib.h> 
#include <unixio.h> 
 
main() 
{ 
    FILE *fp; 
    char c_ptr[130]; 
 
    /* 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 file with some data -"this is a test"   */ 
 
    if ((fp = fopen("file.dat", "r+")) == NULL) { 
       perror("open error") ; 
        exit(1); 
    } 
 
    fgets(c_ptr, 130, fp); 
    puts(c_ptr);        /* Display what fgets got.  */ 
    fclose(fp); 
 
    delete("file.dat") ; 
} 


fgetwc

指定されたファイルから次の文字を読み込み,その文字をワイド文字コードに変換します。

形式

#include <wchar.h>

wint_t fgetwc (FILE *file_ptr);


引数

file_ptr

アクセスするファイルを指すポインタ。

説明

正常終了すると, fgetwc関数は, file_ptr によって示されるファイルから読み込んだ後, wint_t型に変換したワイド文字コードを返します。ファイルがファイルの終端 (EOF) にある場合は,EOF 指示子が設定され, WEOF が返されます。I/O 読み込みエラーが発生した場合は,エラー指示子が設定され,WEOF が返されます。

アプリケーションで ferrorまたは feofを使用すると,エラー条件と EOF 条件を区別できます。


戻り値

x 読み込んだ文字のワイド文字コード。
WEOF ファイルの終端 (EOF) またはエラーを示します。読み込みエラーが発生した場合は, errno は次のいずれかの値に設定されます。

  • EALREADY---同じファイルに対して操作がすでに実行されています。

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

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


前へ 次へ 目次 索引