wconv_setendshiftについて説明します。
名前
wconv_setendshift - 項目の最後のシフト状態を指定する
形式
int wconv_setendshift( wconv_t wd, int fendshift );
wd wconv_open、またはwconv_openExが返却した変換情報テーブルの値を指定します。
fendshift文字列の終わりのシフト状態指定フラグを指定します。
機能説明
wconv_setendshiftは、文字コード変換時の変換先文字コード列の終わりのシフト状態を設定します。fendshiftには、以下のいずれかを指定します。
最後の変換先文字コードのシフト状態に従います。最後の文字が、1バイトまたは2バイトにかかわらず、シフトコードは出力しません。
1バイト文字状態に戻します。項目の最後のコードが2バイトだった場合、1バイト文字状態へのシフトコードを出力します。
2バイト文字状態に戻します。項目の最後のコードが1バイトだった場合、2バイト文字状態へのシフトコードを出力します。
END_SINGLESHIFT、またはEND_DOUBLESHIFT を指定し、変換先レコードの項目のサイズがシフトコードを出力するのに不十分な場合、変換先文字コード列の最後の1バイト(2バイト文字の場合は 2バイト)を削除し、シフトコードを出力する領域を確保してシフトコードを出力します。
wconv_setendshiftを呼び出さない場合は、fendshiftにEND_DEPENDSHIFT が指定されたのと同じ変換を行います。
この設定が有効になるのは、項目書式のデータ型にFLD_STRING(1バイト/2バイト混在型)を指定した項目だけです。
戻り値
カスタマイズに成功した場合は、0 を返却します。
カスタマイズに失敗した場合は、-1を返却します。
エラー
エラー情報は、wconv_error ()で取得します。
【エラーコード】
変換情報テーブルが異常です。または、fendshiftの値が不当です。
領域不足が発生しました。
例
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 );