C 言語での出力書式変換手法
C言語では、出力フォーマット変換は主としてフォーマット出力関数printf()により実装されています。printf()関数は指定されたフォーマットに従ってデータを画面または他の出力デバイスに出力することができます。
一般的なフォーマット変換子は次のとおりです。
- %d : 10進数整数を出力します。
- %f:浮動小数点を出力します。
- %s: 文字列の出力
- %c: 文字を出力します。
- %o:8進数の整数を出力する。
- %x:16進数(HEX)を出力する。
- %p:アドレス出力をポインタに指定する。
出力形式は変換符で指定でき、出力するデータを対応する引数として渡します。例:
int age = 20;
float height = 1.75;
char name[] = "John";
printf("My name is %s, I'm %d years old and %.2f meters tall.\n", name, age, height);
上記のコードでは、%s、%d、%.2fは、それぞれ文字列、10進数、小数点以下2桁の浮動小数の変換指定子を表します。書式文字列で対応する変換指定子を使用することで、変数の値を指定された書式で画面に出力することができます。
printf() 関数は、%5d のように 10 進数の整数の出力幅が 5 であること、%8.2f のように実数の出力幅が 8 で小数部分が 2 桁であることなどを制御する特別な変換指定子を使用することもできます。
また、C言語では、printf()と同様にフォーマットした文字列を指定した文字列やファイルに出力できる、sprintf()やfprintf()といったその他の書式付き出力関数も提供されています。