14.2.4 フォーマットされた出力
このセクションでは、呼び出し方法printfと関連関数について説明します。
フォーマットされた出力には、次の関数を使用できます。これらは、同じ名前の C 言語関数をモデルにしていますが、ベクトル値と行列値の印刷のパフォーマンスを向上させるために、フォーマット テンプレートを異なる方法で解釈します。
実装上の注意: MATLAB"\n"との互換性のため、テンプレート文字列が一重引用符で定義されている場合でも、テンプレート文字 列内のエスケープ シーケンス (例: => 改行) は展開されます。
: printf (template, …)
: numbytes = printf (…)
テンプレート文字列テンプレートの制御下にあるオプションの引数を ストリームに出力しstdout、出力された文字数を返します。
テンプレート文字列の構文の完全な説明については、GNU Octave マニュアルの「フォーマットされた出力」セクションを参照してください。
オプションの出力numbytes は、印刷されたバイト数を返します。
実装上の注意: MATLAB"\n"との互換性のため、テンプレート文字列が一重引用符で定義されている場合でも、テンプレート文字 列内のエスケープ シーケンス (例: => 改行) は展開されます。
参照: fprintf、sprintf、scanf。
: fprintf (fid, template, …)
: fprintf (template, …)
: numbytes = fprintf (…)
この関数は と同等ですがprintf、出力が ではなくファイル記述子fidstdoutに書き込まれる点が異なります。
fidが省略された場合、出力は に書き込まれ、stdout関数は とまったく同じになりますprintf。
オプションの出力numbytes は、ファイルに書き込まれたバイト数を返します。
実装上の注意: MATLAB"\n"との互換性のため、テンプレート文字列が一重引用符で定義されている場合でも、テンプレート文字 列内のエスケープ シーケンス (例: => 改行) は展開されます。
参照: fputs、fdisp、fwrite、fscanf、printf、sprintf、fopen。
: str = sprintf (template, …)
これは と似ていますがprintf、出力が文字列として返される点が異なります。
適切なサイズの文字列を引数として提供する必要がある C ライブラリ関数とは異なり、Octave のsprintf関数は、変換されたすべての項目を保持できるように自動的にサイズ設定された文字列を返します。
実装上の注意: MATLAB"\n"との互換性のため、テンプレート文字列が一重引用符で定義されている場合でも、テンプレート文字 列内のエスケープ シーケンス (例: => 改行) は展開されます。
参照: printf、fprintf、sscanf。
このprintf関数は、任意の数の引数を印刷するために使用できます。呼び出し時に指定するテンプレート文字列引数は、追加の引数の数に関する情報だけでなく、その型や印刷に使用するスタイルに関する情報も提供します。
テンプレート文字列内の通常の文字はそのまま出力ストリームに書き込まれるが、 '%テンプレート内の ' 文字により、後続の引数がフォーマットされて出力ストリームに書き込まれます。たとえば、
pct = 37;
filename = "foo.txt";
printf ("Processed %d%% of '%s'.\nPlease be patient.\n",
pct, filename);
次のような出力を生成します
Processed 37% of 'foo.txt'. Please be patient.
この例では、「%d' 変換を使用してスカラー引数を 10 進表記で印刷するように指定するには、'%s' 変換は文字列引数の印刷を指定し、'%%' リテラルを印刷するための変換 '%' キャラクター。
整数引数を8進数、10進数、16進数の符号なし値として印刷するための変換もあります('%o', '%u'、 または '%x')または文字値('%c')。
浮動小数点数は、'%f' 変換または指数表記で '%e' 変換。'%g' 変換は ' のいずれかを使用します%e' または '%f' 形式は、特定の数値の大きさに応じて適切なものを選択します。
' の間に修飾子を記述することで、より正確に書式を制御できます。%' と、適用する変換を示す文字を指定します。これらは、変換の通常の動作をわずかに変更します。たとえば、ほとんどの変換仕様では、最小フィールド幅と、フィールド内で結果を左揃えにするか右揃えにするかを示すフラグを指定できます。
許可される特定のフラグと修飾子、およびその解釈は、特定の変換によって異なります。これらについては、次のセクションで詳しく説明します。