

#include <nitro/std.h>
int STD_TVSNPrintf( char *dst, size_t len, const char *fmt, va_list vlist );
| dst | 出力文字列の格納先バッファ |
| len | 出力文字列の格納先バッファのサイズ |
| fmt | 出力書式文字列(フォーマット文字列) |
| vlist | 可変引数リスト |
常に、書式文字列を正しく出力した場合の文字数を返します。この文字数に終端文字 '\0' は含まれません。
dst には出力文字列が書き込まれます。
出力文字数が len を下回る場合、全ての文字列と終端文字 '\0' が書き込まれます。
出力文字数が len と同じかそれを上回る場合、
(1) len が 0 でなければ dst[len - 1] に 終端終端文字 '\0' を書き込みます。
(2) len が 0 であれば dst に対して何も行ないません。
軽量版の書式文字列関数です。
MSLの vsnprintf() と同じ動作ですが、以下の機能は使用できません。
・CodeWarrior 拡張の Pascal 文字列 (#s)
・MSL AltiVec 拡張 (v, vh, vl, hv, lv, @)
・浮動小数点 (e, E, f, g, G, a, A)
・ワイド文字列(wchar_t)
※Shift JIS マルチバイト文字列は使用可能です。
この関数は weak シンボルでコンパイルされますので、ユーザが独自で関数を定義すれば、それで上書きされます。
但しこの関数は、TWL-SDK 内の関数や上位ライブラリ、ミドルウェアなどで使用されている可能性がありますので、
上書きする場合は動作が変わらないように十分注意してください。
STD_TSPrintf STD_TVSPrintf STD_TSNPrintf
2009/03/27 ユーザが独自で関数を定義した場合の注意を追記
2007/04/20 初版