引数 | 説明 |
---|---|
s |
文字配列 (書き込まれる配列) 「format」が指す書式文字列に従って「s」が指す文字配列へ書き込みを行う。 |
n |
書き込む文字数 引数の「n」で指定した書き込み文字数をオーバーした分は、 書き込まれず破棄される。 引数「n」に、「0」を指定した場合は、 「snprintf」には、何も書き込みされない。 その時は、引数「s」に、「空ポインタ (NULL)」を指定してもOK。 |
format |
書き込む文字列(変換指定文字列を利用して記述する) 「snprintf」関数は、 書き込まれた文字配列の最後にはナル文字 「'\0'」 が書き込まれる。 |
返り値 | 説明 |
---|---|
成功した場合 |
書き込んだ文字数 (終端ナル文字は含ない) 「返り値」が、「負の値」でなく、 「n(書き込み文字数)」未満の場合には、 完全に書き込まれたことになる。 |
失敗した場合 | 負の値 |
変換指定子 | 説明 |
---|---|
d | 符号付きの「10進整数」を扱う「変換指定子」。 |
i | 符号付きの「10進整数」を扱う「変換指定子」。 |
u | 符号なしの「10進整数」を扱う「変換指定子」。 |
o | 符号なしの「8進整数」を扱う「変換指定子」。 |
x、X |
符号なしの「16進整数」を扱う「変換指定子」。 「x」は、アルファベットの「小文字」で表示。 「X」は、アルファベットの「大文字」で表示。 |
f、F |
「浮動小数点数」を扱う「変換指定子」。 「小数点以下(ddd.ddd)」を表示する 「F」は、アルファベットを「大文字」で表示する。 |
e、E |
「浮動小数点数」を扱う「変換指定子」。 「小数」の「指数表記(ddd.ddde±dd)」 「E」は、指数を表す「e」を「大文字」で表示する。 |
g、G |
「浮動小数点数」を扱う「変換指定子」。 小数の16進指数表記(0xddd.dddp±dd) 「f」または「e」での変換のどちらか表示が短い方で表示。 指数部が「-4」より小さい場合か、「精度指定」以上の場合に、「e」が使用される。 「G」はアルファベットを「大文字」で表示する。 |
a、A |
「16進浮動小数点数」を扱う「変換指定子」。 「A」は、アルファベットを「大文字」で表示する。 |
c |
「文字」を扱う「変換指定子」。 「int型」の実引数を「unsigned char型」に変換し、結果を「文字」で表示する |
s |
「文字列」を扱う「変換指定子」。 「文字列」への「ポインタ」を実引数に指定し、末尾にある「null文字」の直前まで表示する。 |
p |
「ポインタ」を扱う「変換指定子」。 任意の型のポインタを実引数に指定し、16進数で表示 |
n |
「整数へのポインタ」を扱う「変換指定子」。 現時点までに出力された文字数を整数へのポインタに格納する。 ※Visual Studioではセキュリティ上の問題で標準では無効 |
% |
「%」を表示する「変換指定子」。 「%%」と入力することで、「%」を文字として扱う。 |
フラグ | 説明 | 既定値 |
---|---|---|
- | フィールドの左揃え | 右揃え |
+ |
数値の前に、常に「符号(+-)」を表示するフラグ。 「正の数字」=「+」の符号を表示 「負の数字」=「-」の符号を表示 | 「負の数字」のみ |
0 |
「最小桁数」に達するまで「空白」を「0」に変換して埋めるフラグ。 「整数値」の「精度指定」がされている場合 「-」フラグと同時指定された場合 などは、「0」フラグは「無効」となる。 | 空白で埋める |
空白 |
「符号付き」の「数値」で符号が表示されない場合に、空白で埋めるフラグ。 「+」フラグと同時に指定された場合は、 「空白」フラグは無効となる。 | 何もしない |
# |
「o」変換(8進数表記)の場合、 先頭に「0」が追加される値が「0」の場合は何もしない | 何もしない |
# |
「x、X」変換(16進数表記)の場合、 先頭に「0x、0X」が追加される値が「0」の場合は何もしない | 何もしない |
# |
「e、E、f、F、a、A」変換(小数値)の場合、 小数点以下の数値を表示しない場合でも「小数点」を表示する | 何もしない |
# |
「g、G」変換(double型)の場合、 小数点以下の数値を表示しない場合でも「.0」を表示する | 何もしない |
# | 上記以外の変換に「#」フラグを使用した場合は、未定義となる | - |
変換指定子 | 説明 | 既定値 |
---|---|---|
d、i、o、u、x、X |
最小桁数の指定 指定の値が実際の文字数よりも小さい場合は0で埋める | 1 |
e、E、f、F | 小数部(小数点の後ろの数値)の有効桁数の指定 桁の最後は丸められる(四捨五入される) | 6 |
g、G | 有効桁数の指定 | 6 |
s | 有効文字列数 | 表示される文字列の文字数 |
長さ修飾子 | 変換指定子 | データ型 |
---|---|---|
hh | d、i、o、u、x、X | char型、unsigned char型 |
n | char型のポインタ | |
h | d、i、o、u、x、X | short型、unsigned short型 |
n | short型のポインタ | |
l(小文字のL) | d、i、o、u、x、X | long型、unsigned long型 |
n | long型のポインタ | |
ll(小文字のLL) | d、i、o、u、x、X | long long型、unsigned long long型 |
n | long long型のポインタ | |
L | a、A、e、E、f、F、g、G | long double型 |
j | d、i、o、u、x、X | intmax_t型(対応する中で最大の整数値を扱うデータ型) |
z | d、i、o、u、x、X | size_t型 |
t | d、i、o、u、x、X | ptrdiff_t型(ポインタ同士を減算した値を扱う型) |
長さ修飾子 | 変換指定子 | データ型 |
---|---|---|
l(小文字のL) | a、A、e、E、f、F、g、G | long double型 |
h | c、C | 1バイト文字 |
I32 | d、i、o、u、x、X | __int32型、unsigned __int32型 |
I64 | d、i、o、u、x、X | __int64型、unsigned __int64型 |