Programming Place Plus トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
Programming Place Plus トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
標準出力へ、変換指定に沿って変換された文字列を出力する。 |
|||||||||||||||||||||||||||||||||||
ヘッダ |
||||||||||||||||||||||||||||||||||||
形式 |
int printf(const char* restrict format, …); |
|||||||||||||||||||||||||||||||||||
引数 |
format |
変換指定を含んだ、あるいは含まないプレーンな文字列。 |
||||||||||||||||||||||||||||||||||
… |
format に含まれている変換指定子に対応した個数のパラメータ。 |
|||||||||||||||||||||||||||||||||||
戻り値 |
正常に終了した場合は、出力した文字数が返される。エラー発生時は負数が返される。 |
|||||||||||||||||||||||||||||||||||
詳細 |
引数format の基本形式は、“%d” や “%s”
といったように、変換指定の開始を意味する
%記号と、変換指定子の組み合わせである。この指定の組み合わせ1つにつき、実引数…
の個数を1つ増やす。ただし、後述するが、“%*d”
のようにフィールド最小幅指定に * を用いた場合や、“%.*d”
のように精度指定に * を用いた場合には、最小幅を指定するために実引数…
を1つ追加しなければならない。
|
|||||||||||||||||||||||||||||||||||
注意 |
必要な個数の実引数が指定されていない場合の動作は未定義だが、余分に指定されている場合には、評価は行われるが、printf関数としては無視する。
printf(s);
という呼び出しでは、変数s が “xx%dyy”
のような文字列を保持していると、%d
が変換指定子とみなされる。その結果、指定していない2つ目の実引数を参照しようとするため、不正なデータを読み取ることになる。
|
|||||||||||||||||||||||||||||||||||
使用例 |
実行結果:
|
|||||||||||||||||||||||||||||||||||
関連 |
任意のストリームに対して同様の変換指定を行い出力するには、fprintf関数を使う。変換結果を文字の配列に格納するには
sprintf関数を使う。 |
|||||||||||||||||||||||||||||||||||
解説章 |
return 0;
を削除(C言語編全体でのコードの統一)≪さらに古い更新履歴を展開する≫
Programming Place Plus のトップページへ