ページの先頭行へ戻る
Interstage Charset ManagerStandard Edition V9 システム構築ガイド コンバータ編
FUJITSU Software

A.1 C言語インタフェース

int error;
char inbuf[] = { 0x82, 0xA0, 0x82, 0xA2, 0xB1, 0xB2 };
char outbuf[20];
int  indata_processed, outdata_processed;
size_t num_of_total;                                /*  全体の文字数                */
size_t num_of_convertibles;                         /*  変換可能文字の数            */
size_t num_of_inconvertibles;                       /*  変換不能文字の数            */
charsetmanager_converter_error_status error_status; /*  詳細エラー情報              */
charsetmanager_converter_property_ptr ccpp;         /*  コード変換情報格納域ポインタ*/
charsetmanager_converter_stream_status_ptr cssp;    /*  ストリーム情報              */

/* コード変換プロパティ情報の生成 */
ccpp = charsetmanager_converter_open( &error );
if ( error ) エラー処理

/* コード変換ポリシーの設定 */
charsetmanager_converter_set_policy(ccpp, "ConversionID", &error);
if ( error ) エラー処理

/* ストリーム情報の生成 */
cssp = charsetmanager_converter_stream_open_status(ccpp, "Shift_JIS",
						"UCS-2LE", &error);
if ( error ) エラー処理

/* コード変換の実行 */
charsetmanager_converter_convert(ccpp, inbuf, sizeof inbuf,
				&indata_processed, outbuf, sizeof outbuf,
				&outdata_processed,cssp, &error_status, &error);
if ( error ) エラー処理

/* コード変換統計情報の取得 */
num_of_total = charsetmanager_converter_get_statistics(cssp,
			CHARSETMANAGER_CONVERTER_STAT_TOTAL, &error);
if ( error ) エラー処理
num_of_convertibles = charsetmanager_converter_get_statistics(cssp,
			CHARSETMANAGER_CONVERTER_STAT_CONVERTIBLE, &error);
if ( error ) エラー処理
num_of_inconvertibles = charsetmanager_converter_get_statistics(cssp,
			CHARSETMANAGER_CONVERTER_STAT_INVALID_CHAR, &error);
if ( error ) エラー処理

/* ストリーム情報の破棄 */
charsetmanager_converter_stream_close_status(cssp, &error);
if ( error ) エラー処理

/* コード変換プロパティ情報の破棄 */
charsetmanager_converter_close(ccpp, &error);
if ( error ) エラー処理