ア | イ | ウ | エ | オ |
カ | キ | ク | ケ | コ |
サ | シ | ス | セ | ソ |
タ | チ | ツ | テ | ト |
ナ | ニ | ヌ | ネ | ノ |
ハ | ヒ | フ | ヘ | ホ |
マ | ミ | ム | メ | モ |
ヤ | ユ | ヨ | ||
ラ | リ | ル | レ | ロ |
ワ | ヰ | ヴ | ヱ | ヲ |
ン |
A | B | C | D | E |
F | G | H | I | J |
K | L | M | N | O |
P | Q | R | S | T |
U | V | W | X | Y |
Z | 数字 | 記号 |
元々はCで、書式付きの表示を行なうための関数。
printf(フォーマット文字列, 値1,値2, 値3...)
フォーマット文字列には、次のようなものがある。詳細は後述する。
様々な関連する関数が定義されている。
フォーマット文字列は、出力される書式の体裁を指示するための文字列である。そのまま表示される通常文字に加え、%から始まる変換指定が存在する。
変換指定は、%から始まり、変換指定子で終わる。その間には、0個以上のフラグ、最小フィールド幅、精度、長さ修飾子を、この順序にて置くことができる。
具体的な使用例は最後に記載する。
この他にも、実装により独自の拡張が存在する。
10進数で、最小のフィールド幅を指定する(頭文字は0以外)。
値が指定されたフィールド幅よりも小さい時は、フラグの指定により、空白やゼロでパディングされる。
値が指定されたフィールド幅よりも大きい時は、適切な幅に拡張される。
数値の変換では、.(ピリオド)に続いて、10進数で精度桁数を指定できる。なお10進数は省略可能で、.(ピリオド)だけの場合は10進数は0が指定されたものとみなす。
整数変換(d/i/o/u/x/X)では、表示する最小桁数を指定する。
実数変換(a/A/e/E/f/F)では、小数点以下に表示する桁数を指定する。
g/Gの変換では、有効数字(整数桁含む)の最大桁数を指定する。
文字列の変換(s/S)では、出力する最大文字数を指定する。
整数変換(d/i/o/u/x/X)時、その引数の長さを指定する。
バージョンによって追加があるため、その旨も併記する。併記無きものは全バージョンで利用可能。
長さに関してはsigned/unsignedは問わない。どちらでも同じ修飾子を使う。
型 | 書式 | 補足 | ||
---|---|---|---|---|
10進数 | 16進数 | 8進数 | ||
signed char | %hhd | 文字、C99以降 | ||
unsigned char | %hhu | %hhx | %hho | |
short | %hd | |||
unsigned short | %hu | %hx | %ho | |
int | %d | |||
unsigned int | %u | %x | %o | |
long | %ld | |||
unsigned long | %lu | %lx | %lo | |
wint_t | %lc | 文字、C99以降 | ||
wchar_t | %lc | 文字、C99以降 | ||
long long | %lld | C99以降 | ||
unsigned long long | %llu | %llx | %llo | C99以降 |
型 | 書式 | 補足 | ||
float | %f | 実数型 | ||
double | %f | 実数型 | ||
long double | %Lf | 実数型、C99以降 | ||
型 | 書式 | 補足 | ||
intmax_t | %jd | C99以降 | ||
uintmax_t | %ju | C99以降 | ||
ssize_t | %zd | C99以降 | ||
size_t | %zu | C99以降 | ||
ptrdiff_t | %td | %tx | %to | C99以降 |
型 | 書式 | 補足 | ||
int32_t | %"PRId32" | C99以降、要inttypes.h | ||
uint32_t | %"PRIu32" | %"PRIx32" | %"PRIo32" | C99以降、要inttypes.h |
int64_t | %"PRId64" | C99以降、要inttypes.h | ||
uint64_t | %"PRIu64" | %"PRIx64" | %"PRIo64" | C99以降、要inttypes.h |
PRIから始まるのは、inttypes.hで#defineされてるマクロである。その環境に応じて適切なフォーマット文字列が定義されている。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます