PowerSORT Workstation V5.0 使用手引書
目次 索引 前ページ次ページ

第6章 C言語プログラムからPowerSORTを使用する> 6.4 BSORT関数で使用する構造体

6.4.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構造体メンバ

unsigned char  Kkey_order[4]

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

定義値

意味

BS_BUSHU

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

BS_SOKAKU

総画数順に並べます。

BS_ONYOMI

音読み順に並べます。

BS_KUNYOMI

訓読み順に並べます。

BS_CODE

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

unsigned char  Kkey_form

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

定義値

意味

BSFM_STD

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

BSFM_DIC

国語辞典方式(ふりがなの順)に並べます。ふりがなフィールドの指定が必要となります。

unsigned char  Fkey_type

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

[バイナリファイルの場合]

種類

データ形式

定義値

長さ(バイト)

文字

ASCIIコード

BSKEY_ASC

1〜レコード長 (注1)

EBCDICコード (注2)

BSKEY_EBC

1〜レコード長 (注1)

シフトJISコード

BSKEY_SJI

1〜レコード長 (注1)

JEFコード (注2)

BSKEY_JEF

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

[テキストファイルの場合]

種類

データ形式

定義値

長さ(バイト)

文字

ASCIIコード

BSKEY_ASC

1〜レコード長 (注1)

シフトJISコード

BSKEY_SJI

1〜レコード長 (注1)

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

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

unsigned long  Fkey_position

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

unsigned long  Fkey_length

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


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2004-2006