# 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 初版