ページの先頭行へ戻る
Interstage Charset ManagerStandard Edition V9 使用手引書 拡張データ変換機能編
FUJITSU Software

2.5.2 wconv_setendshift

wconv_setendshiftについて説明します。

名前

wconv_setendshift  -  項目の最後のシフト状態を指定する

形式

int wconv_setendshift( wconv_t wd, int fendshift );

wd wconv_open、またはwconv_openExが返却した変換情報テーブルの値を指定します。
fendshift文字列の終わりのシフト状態指定フラグを指定します。

機能説明

wconv_setendshiftは、文字コード変換時の変換先文字コード列の終わりのシフト状態を設定します。fendshiftには、以下のいずれかを指定します。

[END_DEPENDSHIFT]:

最後の変換先文字コードのシフト状態に従います。最後の文字が、1バイトまたは2バイトにかかわらず、シフトコードは出力しません。

[END_SINGLESHIFT]:

1バイト文字状態に戻します。項目の最後のコードが2バイトだった場合、1バイト文字状態へのシフトコードを出力します。

[END_DOUBLESHIFT]:

2バイト文字状態に戻します。項目の最後のコードが1バイトだった場合、2バイト文字状態へのシフトコードを出力します。

END_SINGLESHIFT、またはEND_DOUBLESHIFT を指定し、変換先レコードの項目のサイズがシフトコードを出力するのに不十分な場合、変換先文字コード列の最後の1バイト(2バイト文字の場合は 2バイト)を削除し、シフトコードを出力する領域を確保してシフトコードを出力します。

wconv_setendshiftを呼び出さない場合は、fendshiftにEND_DEPENDSHIFT が指定されたのと同じ変換を行います。

この設定が有効になるのは、項目書式のデータ型にFLD_STRING(1バイト/2バイト混在型)を指定した項目だけです。

戻り値

カスタマイズに成功した場合は、0 を返却します。

カスタマイズに失敗した場合は、-1を返却します。

エラー

エラー情報は、wconv_error ()で取得します。

【エラーコード】

EINVAL:

変換情報テーブルが異常です。または、fendshiftの値が不当です。

ENOMEM:

領域不足が発生しました。

wconv_setendshift関数の例

/* wconv_convert関数呼び出しまではwconv_open関数の例と同じ処理 */
wconv_setendshift( wd, END_DEPENDSHIFT );
if ( ( wconv_convert( wd, &fromrecdata, &torecdata ) ) != 0x00 )
{
    wconv_error( wd, 1, &error );
}
wconv_close( wd );