ページの先頭行へ戻る
PowerSORT Workstation (32bit) V7.0 ユーザーズガイド
FUJITSU Software

6.5.5 BSKANJI構造体

BSKANJI構造体は、漢字フィールド、およびふりがなフィールドを定義するための構造体です。

typedef struct {
    unsigned char    Kkey_order[4];
    unsigned char    Kkey_form;
    unsigned char    reserve1;        /* reserved */
    unsigned char    reserve2;        /* reserved */
    unsigned char    Fkey_type;
    unsigned long    Fkey_position;
    unsigned long    Fkey_length;
} BSKANJI;

BSKANJI構造体メンバー

以下では、BSKANJI構造体のメンバーについて説明します。

Kkey_order[4]

漢字フィールドの漢字属性を指定します。
漢字属性は最大4つまで指定できます。複数の漢字属性を指定した場合、指定順に比較が行われます。指定可能な漢字属性を以下に示します。

定義値

意味

BS_BUSHU

部首コード順に並べます。

BS_SOKAKU

総画数順に並べます。

BS_ONYOMI

音読み順に並べます。

BS_KUNYOMI

訓読み順に並べます。

BS_CODE

漢字コード(JEFコード)順に並べます。

Kkey_form

漢字ソートマージ機能の方式を指定します。
指定可能な方式を以下に示します。

定義値

意味

BSFM_STD

基本方式(漢字属性の順)に並べます。
BSKANJI構造体のKkey_orderの指定が必要です。ふりがなフィールドの指定は必要ありません。

BSFM_DIC

国語辞典方式(ふりがなの順)に並べます。
ふりがなフィールドの指定が必要です。BSKANJI構造体のKkey_orderを指定することもできます。

Fkey_type

ふりがなフィールドのデータ形式を指定します。
ふりがなフィールドには、半角文字と全角文字が混在できます。指定可能なデータ形式を以下に示します。

表6.3 バイナリファイルの場合

種類

データ形式

定義値

長さ(バイト)

文字

ASCIIコード

BSKEY_ASC

1~レコード長 (注1)

EBCDICコード (注2)

BSKEY_EBC

1~レコード長 (注1)

シフトJISコード

BSKEY_SJI

1~レコード長 (注1)

JEFコード (注2)

BSKEY_JEF

2~レコード長 (2の倍数) (注1)

表6.4 テキストファイルの場合

種類

データ形式

定義値

長さ(バイト)

文字

ASCIIコード

BSKEY_ASC

1~レコード長 (注1)

シフトJISコード

BSKEY_SJI

1~レコード長 (注1)

注1) レコード再編成機能を指定した場合は、レコード再編成後のレコード長まで指定できます。

注2) 入力ファイルのコード系(BSRTPRIM構造体のcdmode)がEBCDICコード系の場合に指定できます。

Fkey_position

ふりがなフィールドの位置を指定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定します。テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合は、0から数えたフィールド番号を指定します。

Fkey_length

ふりがなフィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定、テキストファイルCSV形式、およびテキストファイルTSV形式の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、実際のフィールド長で処理します。

注意

テキストファイルCSV形式、およびテキストファイルTSV形式の場合、フィールドを囲むダブルクォーテーション(")は、ふりがなフィールドの長さに含みません。また、ダブルクォーテーション(")で囲まれたフィールド内の2つ連続したダブルクォーテーション("")は、1つのダブルクォーテーション(")として長さを計算します。