目次 - SDL 3.0 API(機能別) - 標準ライブラリ - SDL_snprintf

SDL_snprintf

snprintf()と同機能だがCランタイムを必要としない関数

ヘッダ

SDL3/SDL_stdinc.h

構文

int SDL_snprintf(char *text, size_t maxlen, const char *fmt, ...);

引数

char *text文字列の書込先バッファ. NULL不可
size_tmaxlenNUL終端を含む書込の最大バイト数
const char *fmtprintfスタイルの文字列. NULL不可
......fmt文字列の%トークンと一致する任意の引数

戻り値

(int) 文字列の書き込まれるべきバイト数を戻す. 終端のNUL文字の分は含まれない. 失敗のとき負の数を戻す.

詳細

それぞれの'%'を可変長引数の変数の値に変換してmaxlen-1バイトの文字列に編集する.

一部のCランタイムとは異なり, NUL終端の分がmaxlenに含まれており, 文字列が長すぎる場合でもNUL終端が出力される. maxlenが0の場合は何も書き込まれないので注意すること.

この関数は書き込まれるべき出力文字列の終端文字を含まないバイト数(文字数ではない)を戻す. 戻り値がmaxlen以上の場合, 出力文字列は切り捨てられている. 負の数の場合, エラーが発生した.

出力文字列のポインタを形式識別子(%)が参照した場合の動作は未定義である.

スレッドセーフ

この関数はどのスレッドからも安全に呼べる.

バージョン

SDL 3.2.0以降

SDL Wikiへのリンク

SDL_snprintf - SDL Wiki