STD_ConvertStringUnicodeToSjis

構文

#include <nitro/std.h>

STDResult STD_ConvertStringUnicodeToSjis(char *dst, int *dst_len, const u16 *src, int *src_len, STDConvertSjisCallback callback);

引数

dst 変換先の ShiftJIS 文字列バッファ
NULL を指定した場合は格納処理が無視されます。
dst_len 変換先バッファに格納できる最大バイトサイズを渡し、実際に格納されたバイトサイズを受けるためのポインタ
NULLを指定した場合は無視されます。
src 変換元の Unicode 文字列バッファ
src_len 変換すべき最大文字数を渡し、実際に変換された文字数を受けるためのポインタ
バイトサイズでない点に注意してください。
負の値を渡した場合、またはNULLを指定した場合はsrcの終端までの長さを指定したものとみなします。
callback 変換できない文字が現れたときに呼ばれるコールバックを指定します。

返り値

変換処理の結果を示すSTDResult型の値を返します。
dstがNULLでない場合は、変換した文字列をdstへ格納しつつ変換後のバイトサイズをsrc_lenとdst_lenに返します。
dstがNULLの場合は、変換した文字列を格納せず変換後のバイトサイズのみを返します。
常に、終端のL'\0'は付与されず文字数にも含みません。

説明

Unicode 形式の文字列を ShiftJIS 形式の文字列に変換します。
API が変換できない Unicode 形式の文字が見つかった場合、その都度コールバックが発生します。
コールバックを NULL で指定した場合、変換できない文字が現れた時点で処理を終了します。

dstにNULLを指定することにより、変換後の文字列長のみを求めることが出来ます。

参照

STDResult
STD_ConvertStringSjisToUnicode, STD_ConvertCharSjisToUnicode, STD_ConvertCharUnicodeToSjis, STDConvertSjisCallback

履歴

2006/08/10 インタフェース変更。
2006/07/24 インタフェース変更。
2006/07/05 初版