14.2.7 Table of Output Conversions

Last-modified: 2025-03-16 (日) 13:45:11

14.2.7 出力変換表

以下に、さまざまな変換が何を行うかをまとめた表を示します。

'%d', '%私'
整数を符号付き 10 進数として出力します。詳細については、整数変換を参照してください。'%d' そして '%私' は出力の場合と同義ですが、scanf入力に使用する場合は異なります ( 「入力変換の表」を参照)。

'%o'
整数を符号なし 8 進数として出力します。詳細については、 「整数変換」を参照してください。

'%u'
整数を符号なし 10 進数として出力します。詳細については、 「整数変換」を参照してください。

'%x', '%X'
整数を符号なし 16 進数として出力します。'%x' は小文字を使用し、 '%X' は大文字を使用します。詳細については、 整数変換を参照してください。

'%f'
浮動小数点数を通常の(固定小数点)表記で出力します。詳細については、 「浮動小数点変換」を参照してください。

'%e', '%E'
浮動小数点数を指数表記で出力します。'%e' は小文字を使用し、 '%E' は大文字を使用します。詳細については、 浮動小数点変換を参照してください。

'%g', '%G'
浮動小数点数を、その大きさに応じて適切な通常表記 (固定小数点) または指数表記のいずれかで出力します。'%g' は小文字を使用し、 '%G' は大文字を使用します。詳細については、 浮動小数点変換を参照してください。

'%c'
1 文字を出力します。その他の出力変換を参照してください。

'%s'
文字列を出力します。その他の出力変換を参照してください。

'%%'
リテラル「%' 文字。その他の出力変換を参照してください。

変換指定の構文が無効な場合、予期しない事態が発生するため、これを行わないでください。特に、MATLABでは、パーセンテージ記号のみ「%' で、その後に続く変換文字はありません。Octave は、このようなコードを見つけるとエラーを出力して停止します。処理する文字列変数に潜在的な書式コードがないことを保証できない場合は、いずれかのprintf 関数の 2 つの引数形式を使用し、書式文字列を に設定する方が適切です。あるいは、 MATLAB%sとの下位互換性が不要なコードの場合は、 Octave 関数またはを使用できます。 putsdisp

printf (strvar); # Unsafe if strvar contains format codes
printf ("%s", strvar); # Safe
puts (strvar); # Safe

テンプレート文字列内のすべての変換仕様に値を提供するのに十分な関数引数が提供されていない場合、または引数の型が正しくない場合、結果は予測できません。変換仕様よりも多くの引数を提供すると、余分な引数値は単に無視されます。これは便利な場合があります。