目次
フォーマット指定子一覧
基本的なフォーマット指定子
整数型
%d
または%i
: 符号付き10進数(int)%u
: 符号なし10進数(unsigned int)%o
: 符号なし8進数(unsigned int)%x
: 符号なし16進数(小文字)(unsigned int)%X
: 符号なし16進数(大文字)(unsigned int)
浮動小数点型
%f
: 10進数形式の浮動小数点数(floatまたはdouble)%e
または%E
: 指数形式の浮動小数点数(小文字eまたは大文字Eを使用)%g
または%G
: 10進数形式または指数形式(より短い方を選択)
文字および文字列型
%c
: 文字(char)%s
: 文字列(char配列)
ポインタ型
%p
: ポインタのアドレス(void*)
その他
%%
: パーセント記号(%)
拡張フォーマット指定子
長さ修飾子
%ld
,%li
: 符号付き10進数(long int)%lu
: 符号なし10進数(unsigned long int)%lld
,%lli
: 符号付き10進数(long long int)%llu
: 符号なし10進数(unsigned long long int)%hd
: 符号付き10進数(short int)%hu
: 符号なし10進数(unsigned short int)
精度および幅指定子
m
: 最小フィールド幅.n
: 小数点以下の桁数(浮動小数点数の場合)、または最大文字数(文字列の場合)
フラグ
-
: 左寄せ(デフォルトは右寄せ)+
: 常に符号を表示(正数の場合は+、負数の場合は-)- (空白): 正数の符号としてスペースを表示(負数の場合は-)
0
: 左側をゼロで埋める#
: 特定のフォーマット指定子に対してオプションの形式を使用(例えば、%#x
は0x
プレフィックス付きの16進数)
使用例
#include <stdio.h>
int main() {
// 整数型
int num = -123;
unsigned int unum = 123;
unsigned int onum = 123;
unsigned int xnum = 123;
// 浮動小数点型
float fnum = 123.456;
double dnum = 123.456789;
// 文字および文字列型
char ch = 'A';
char str[] = "Hello, World!";
// ポインタ型
void *ptr = #
printf("符号付き10進数: %d\n", num); // %d
printf("符号なし10進数: %u\n", unum); // %u
printf("符号なし8進数: %o\n", onum); // %o
printf("符号なし16進数(小文字): %x\n", xnum); // %x
printf("符号なし16進数(大文字): %X\n", xnum); // %X
printf("浮動小数点数: %f\n", fnum); // %f
printf("指数形式(小文字): %e\n", dnum); // %e
printf("指数形式(大文字): %E\n", dnum); // %E
printf("短縮形式(小文字): %g\n", dnum); // %g
printf("短縮形式(大文字): %G\n", dnum); // %G
printf("文字: %c\n", ch); // %c
printf("文字列: %s\n", str); // %s
printf("ポインタ: %p\n", ptr); // %p
printf("パーセント記号: %%\n"); // %%
// 長さ修飾子
long int lnum = 1234567890L;
long long int llnum = 1234567890123456789LL;
short int snum = 123;
printf("長い符号付き10進数: %ld\n", lnum); // %ld
printf("非常に長い符号付き10進数: %lld\n", llnum); // %lld
printf("短い符号付き10進数: %hd\n", snum); // %hd
// 幅と精度
printf("幅10: %10d\n", num); // %10d
printf("幅10小数点以下2桁: %10.2f\n", fnum); // %10.2f
printf("左寄せ幅10: %-10d\n", num); // %-10d
printf("ゼロ埋め幅10: %010d\n", num); // %010d
return 0;
}
以下が実行結果です。
符号付き10進数: -123
符号なし10進数: 123
符号なし8進数: 173
符号なし16進数(小文字): 7b
符号なし16進数(大文字): 7B
浮動小数点数: 123.456001
指数形式(小文字): 1.234568e+02
指数形式(大文字): 1.234568E+02
短縮形式(小文字): 123.457
短縮形式(大文字): 123.457
文字: A
文字列: Hello, World!
ポインタ: 0x7ffd7da88c44
パーセント記号: %
長い符号付き10進数: 1234567890
非常に長い符号付き10進数: 1234567890123456789
短い符号付き10進数: 123
幅10: -123
幅10小数点以下2桁: 123.46
左寄せ幅10: -123
ゼロ埋め幅10: -000000123