printf

久しぶりに更新・・・。
もう何度も出てきてるし、説明してるprintfだけど、ここで改めて・・・。

printfは指定された書式で文字列を標準出力に出力するC言語の標準ライブラリ関数・・・。

Man page of PRINTF

標準出力とはいわゆるコンソール出力のこと・・・。

ここでは、printfを使って、リテラルや変数をさまざまな形で出力してみる・・・。

$ vi printf.c

まずは文字列リテラルだけを出力してみる・・・。

このように出力したい文字列リテラルを書くだけでいい・・・。
最後に改行したいので、"\n"を入れている・・・。

String Literal only

さて、次は変数を出力する・・・。

文字列リテラルの中で、変数の出力したい位置に書式指定子を入れる・・・。
2つ目の引数に出力したい変数を指定する・・・。
整数値を10進数で出力したいなら"%d"、16進数なら"%x"を使う・・・。実数は"%f"、文字は"%c"・・・。

Decimal Int d = 10
Hexadecimal Unsigned Int x = a
Float f = 0.123000
Char c = A

2つ以上の変数を出力するときは、さらに書式指定子を追加し、引数にも変数を追加する・・・。

d = 10, x = a, f = 0.123000, c = A

書式指定子は、出力形式を詳細に設定できる・・・。

"%3d"とは「3桁の整数で出力する」という意味なので、2桁だとスペースで埋められる・・・。

Field: [ 10]

"%03d"だと、0で埋められる・・・。

Zero: [010]

"%4.2f"のように、"."の後に数値を付けると小数点以下の精度を指定できる・・・。

Precision: [12.35]

小数点以下2桁に丸められた・・・。

"#"を付けると, 基数に応じた文字を付ける・・・。

Radix: [0xa], [012]

他にもいろいろあるけど、まあこれぐらいかな・・・。

Sample/printf.c at master · bg1bgst333/Sample · GitHub