通常PC用 / 人気 更新 今日 カテ |
電子計算機 > 仕様・構造 > ソフトウェア > プログラミング言語 > 言語仕様 > 予約語・関数など > C |
printf |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:プリント-エフ |
外語:printf: print format |
品詞:名詞 |
元々はCで、書式付きの表示を行なうための関数。
|
概要 |
C言語の他、C言語の元々のプラットフォームであるUNIXのコマンドとして4.3BSD以降で採用され、またUNIXベースの各種言語(awk、Perlなど)でも採用されている。
互換性のためC++でも利用できるが、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されてるマクロである。その環境に応じて適切なフォーマット文字列が定義されている。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |