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

2.3.2 wconv_char_init

wconv_char_initについて説明します。

名前

wconv_char_init  -  文字コード変換環境を初期化する

形式

wconv_c * wconv_char_init( CODESET tocodeset,
                           CODESET fromcodeset ); 

tocodeset 変換先コード系を指定します。
fromcodeset 変換元コード系を指定します。

機能説明

wconv_char_initは、fromcodesetで指定したコード系からtocodesetで指定したコード系にコード変換するための文字コード変換情報テーブルを構築し、テーブルのアドレスを返します。

wconv_cはwconv.hで定義されています。

tocodesetおよびfromcodesetに指定できる値は、“2.2 文字コードの種類”を参照してください。tocodesetおよびfromcodesetに同じ文字コードの種類を指定した場合、変換元レコードの文字項目のデータを変換先レコードの文字項目へコピーします。

戻り値

文字コード変換情報テーブルの構築に成功した場合は、その先頭アドレスを返します。
この値を、wconv_openEx関数の第三引数として引き継ぎます。

構築に失敗した場合は、NULLを返します。

エラー

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

【エラーコード】

EINVAL:

指定された変換元コード系または変換先コード系は、サポートしていません。または、指定された変換元コード系と変換先コード系の組み合わせは、サポートしていません。

ENOMEM:

メモリ不足が発生しました。

ENODATA:

文字コード変換テーブルが異常です。

【エラー原因】

ENOTSUP:

指定された変換元コード系または変換先コード系は、サポートしていません。または、指定された変換元コード系と変換先コード系の組み合わせは、サポートしていません。

ENOENT:

文字コード変換テーブルファイルは使用中です。または、文字コード変換テーブルファイルが存在しません。

EBADF:

文字コード変換テーブルファイルが異常です。

wconv_char_init関数の例

wconv_c * cd;
/* wconv_open関数呼び出しまではwconv_open関数の例と同じ処理 */
if( ( cd = wconv_char_init( CDS_UCS2, CDS_SJIS ) ) == NULL )
{
    wconv_error( wd, 0, &error );
    return error.err_code;
}
if( ( wd = wconv_openEx( &torecformat, &fromrecformat, cd ) ) == NULL )
{
    wconv_error( wd, 1, &error );
}

/* wconv_open関数呼び出しの後、wconv_close関数呼び出しまではwconv_open関数の例と同じ処理 */

wconv_closeEx( wd );
wconv_char_end( cd );