User manual - 拡張機能ライブラリ リファレンスマニュアルver.1.00(2008年5月26日)
100
4.2.1. iHashAssign
データファイルからインデックスファイルを作成します。
int iHashAssign (
FILE *
DataFilePointer
,
FILE *
IndexFilePointer
,
long
ll
,
long
lV
,
long
lL
,
long
lW1
)
パラメータ
DataFilePointer
fopen 関数によりオープンしたデータファイルポインタを指定します。
本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。
#include <stdio.h>
FILE *DataFilePointer;
DataFilePointer = fopen (char* file,char* mode);
file : データファイル名
mode : ファイルアクセスモード (“rb”)
IndexFilePointer
fopen 関数によりオープンしたインデックスファイルポインタ。
本関数を使用する前に、データファイルは下記のようにオープンしていなければなりません。
#include <stdio.h>
FILE *IndexFilePointer;
IndexFilePointer = fopen (char* file,char* mode);
file : インデックスファイル名
mode : ファイルアクセスモード (“wb+”)
ll, lV, lL, lW1
これらの値は、インデックスファイルのヘッダ部に格納され、下記のような意味を持ちます。
ll
:データファイルのキーフィールド長
lV
:データファイルの総レコード数
ただし、将来データ数が増える見込みがある場合は、現在のデータファイルの実際の
総レコード数よりも大きい値を指定します。
lL
:データファイルのレコード長(キー+データ)
lW1
:インデックスファイルの総インデックス数(ヘッダ情報除く)
(通常 、 lW1 >= lV * 1.2 上記変数は、long 型です。)