STDConvertUnicodeCallback

定義

#include <nitro/std.h>
typedef STDResult (*STDConvertUnicodeCallback) (u16 *dst, int *dst_len, const char *src, int *src_len);

引数

dst 変換したUnicode形式の文字を格納するポインタ
dst_len 変換先バッファに格納できる最大文字数を受け、実際に格納された文字数を返すためのポインタ
バイトサイズでない点に注意してください。
src ShiftJIS形式の文字列で変換に失敗した位置を指すポインタ
src_len srcが指す未変換の残りのバイトサイズを受け、実際に変換に要したバイトサイズを返すためのポインタ

返り値

変換が成功したらSTD_RESULT_SUCCESSを、変換に失敗したらSTD_RESULT_CONVERSION_FAILEDを返してください。
引数dst_lenとsrc_lenにはそれぞれ、実際に変換で使用した文字数を格納して返してください。

説明

STD_ConvertStringSjisToUnicode()で設定するコールバック関数の型です。
STD_ConvertStringSjisToUnicode()内で変換できない文字を検出するたびに呼び出され、 ここで変換処理を自由に規定することができます。

dstには常に4文字分の配列が保証されており、ここへ変換結果の文字を格納してください。終端を付加する必要はありません。
src_lenには今回の変換によって読み進めるべきsrcの1文字分のバイトサイズを格納してください。

srcおよびdstいずれも、変換結果が2文字以上となりつつバッファ終端を越える場合には、変換結果を無視して終端に達したものとみなします。

参照

STDResult
STD_ConvertStringSjisToUnicode

履歴

2006/08/10 インタフェース変更。
2006/07/24 インタフェース変更。返り値の制限に関する追記。
2006/07/05 初版