HP OpenVMS HP C ランタイム・ライブラリ・リファレンス・マニュアル (下巻)
メモリ内の文字列に対して書式付きの出力を行います。
形式
#include <stdio.h>
int snprintf (char *str, size_t n, const char *format_spec, ...);
引数
str書式付きの出力を受け取る文字列のアドレス。
n
str が指すバッファのサイズ。
format_spec書式指定を含んでいる文字列へのポインタ。書式指定と変換文字の詳細については,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。
...結果として得られる型が,書式指定で与えられた変換指定に対応する式 (オプション)。
変換指定がない場合,出力ソースは省略することができます。そうでない場合は,関数呼び出しは変換指定の数以上の出力ソースを持っていなくてはならず,変換指定は出力ソースの型と一致していなくてはなりません。
変換指定は,左から右の順序で出力ソースと対応づけられます。余分な出力ソースがある場合には,無視されます。
説明
snprintf関数は,
sprintf関数と同等ですが, str が指すバッファのサイズを指定する
n 引数が追加されています。
成功して終了すると
snprintfは, n が十分に大きい場合に
str に書き込まれるバイトの数 (末尾のヌル・バイトは除く) を返します。
n が 0 の場合は,何も書き込まれませんが,
n が十分に大きい場合に書き込まれるバイトの数 (末尾のヌル・バイトは除く) が返されます。この場合,str は NULL ポインタでも構いません。 0 以外の場合,n - 1 番目より後の出力バイトは配列には書き込まれず,破棄されます。そして,実際に配列に書き込まれたバイト列の最後にヌル・バイトが書き込まれます。
出力エラーが検出された場合,負の値が返されます。
書式指定と出力ソースについての詳細は,『HP C ランタイム・ライブラリ・リファレンス・マニュアル(上巻)』第 2 章を参照してください。
戻り値
x
|
n が十分に大きい場合に
str に書き込まれるバイトの数 (末尾のヌル・バイトを除く) です。
|
負の値
|
出力エラーが発生したことを示します。この関数は,
errno
を設定します。この関数が設定する
errno
値のリストについては,
fprintf
を参照してください。
|
|