OS_VSNPrintfEx

構文

#include <nitro/os.h>

int OS_VSNPrintfEx( 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 に対して何も行ないません。

説明

軽量版の書式文字列関数です。OS_VSNPrintf()を機能拡張したものであり、標準でない変換指定子に対応しています。 現在対応しているものは以下になります。

この関数は weak シンボルでコンパイルされますので、ユーザが独自で関数を定義すれば、それで上書きされます。
但しこの関数は、TWL-SDK 内の関数や上位ライブラリ、ミドルウェアなどで使用されている可能性がありますので、
上書きする場合は動作が変わらないように十分注意してください。

参照

OS_VSNPrintf

履歴

2009/03/27 ユーザが独自で関数を定義した場合の注意を追記
2006/10/23 初版