PowerSORT Workstation V5.0 使用手引書 |
目次
索引
![]() ![]() |
第6章 C言語プログラムからPowerSORTを使用する | > 6.4 BSORT関数で使用する構造体 |
BSSUM構造体は、個々の集約フィールドを定義するための構造体です。
typedef struct { |
集約フィールドの位置を設定します。
バイナリファイルとテキストファイル固定フィールド指定の場合は、レコードの先頭を0としたバイト位置を指定し、テキストファイル浮動フィールド指定の場合は、0から数えたフィールド番号を指定します。
集約フィールドの長さをバイト数で指定します。
テキストファイル浮動フィールド指定の場合、指定したフィールド長よりも長いフィールドが現れた場合は、指定したフィールド長で処理します。指定したフィールド長よりも短いフィールドが現れた場合は、指定したフィールド長に拡張して処理します。集約フィールドに指定可能な長さはデータ形式によって異なります。詳細は集約フィールドに指定可能なデータ形式を参照してください。
集約フィールドのデータ形式を指定します。
詳細は集約フィールドに指定可能なデータ形式を参照してください。
テキストファイルの場合に符号の有無を指定します。
必要に応じて、以下を指定します。
定義値 |
意味 |
---|---|
BS_SIGNED |
集約フィールドの値に符号をつけます。BS_PLUSUNSIGNEDとは排他関係にあります。 |
BS_PLUSUNSIGNED |
集約フィールドの値が負の値の場合だけ符号(-)をつけます。BS_SIGNEDとは排他関係にあります。 |
指定を省略した場合は入力されたデータに従って、以下の処理をします。
テキストファイルの場合に集約フィールドの値がフィールド長に満たない場合の扱いを指定します。
必要に応じて、以下を指定します。
定義値 |
意味 |
---|---|
BS_ZEROPADDING |
集約フィールドの値がフィールド長に満たない場合、左余白にゼロ(0)を詰めます。例えば、集約フィールドの値が1234という4バイトの数字であり、集約フィールド長が6バイトの場合、001234という数字にします。BS_BLANKPADDING、BS_ZBDELETEとは排他関係にあります。 |
BS_BLANKPADDING |
集約フィールドの値がフィールド長に満たない場合、左余白に空白を詰めます。例えば、集約フィールドの値が1234という4バイトの数字であり、集約フィールド長が6バイトの場合、__1234(_は空白を表わす)という数字にします。BS_ZEROPADDING、BS_ZBDELETEとは排他関係にあります。 |
BS_ZBDELETE |
集約フィールドの先頭から空白、タブおよび'0'を削除します。集約フィールドの先頭に空白、タブおよび'0'がある場合、左から評価し、'0'以外の数字が出現するまでの空白、タブおよび'0'を削除します。例えば、'00123'の場合、'123'という数字にします。ただし、集約フィールドが0(0、0000、+000など)の場合、最後の'0'は削除されません。テキストファイル浮動フィールド指定の場合に指定可能です。BS_ZEROPADDING、BS_BLANKPADDINGとは排他関係にあります。 |
指定を省略した場合は、入力されたデータにしたがって以下の処理をします。
集約フィールドの加算処理中にオーバフローが生じた場合の動作は、環境変数BSORT_SUMOVERCONTの指定によります。
目次
索引
![]() ![]() |