C言語独学完備マニュアル(07)——printf()出力フォーマット詳細
6424 ワード
カスタムViewシリーズチュートリアル00–自分と過去を覆し、カスタムViewカスタムViewシリーズチュートリアル01–共通ツール紹介カスタムViewシリーズチュートリアル02–onMeasureソース詳細分析カスタムViewシリーズチュートリアル03–onLayoutソース詳細分析カスタムViewシリーズチュートリアル04–Drawソース分析およびその実践カスタムViewシリーズチュートリアル05–カスタムViewシリーズチュートリアル06の例分析–ViewのTouchイベントの詳細理カスタムViewシリーズチュートリアル07–詳細View Group配布TouchイベントカスタムViewシリーズチュートリアル08–スライド競合の発生とその処理
Androidソフトキーボードの難病を探求Android非同期の精髄Handler Androidの主流フレームワークの不可欠な基盤を詳しく理解ソースコードの肩に立ってScrollerの動作メカニズムを完全に理解する
Androidマルチ解像度アダプティブフレームワーク(1)—コアベースAndroidマルチ解像度アダプティブフレームワーク(2)—原理解析Androidマルチ解像度アダプティブフレームワーク(3)—使用マニュアル
著作権声明本文オリジナル作者:谷哥の弟 作者のブログアドレス:http://blog.csdn.net/lfdfhl
printf()フォーマットの一般的な形式は次のとおりです.
%[フラグ][幅][精度][長さ]タイプ
各部分の詳細は以下の通りである.
を選択します.
を選択します.
しゅつりょく
例
dまたはi
符号付き十進法整形
392
u
むきごうじっしんせいけい
7235
o
符号なし8進数
610
x
符号なし16進整形
7fa
X
符号なし16進整形(大文字)
7FA
f
10進浮動小数点数、小文字
392.65
F
10進浮動小数点数、大文字
392.65
e
科学計数法(末尾/指数)、小文字
3.9265e+2
E
科学計数法(末尾/指数)、大文字
3.9265E+2
g
最も短い表現:%eまたは%fを使用
392.65
G
最短表示:%Eまたは%F
392.65
a
16進浮動小数点数、小文字
-0xc.90fep-2
A
16進浮動小数点数、大文字
-0XC.90FEP-2
c
文字
a
s
文字列
sample
p
ポインタアドレス
b8000000
n
印刷しません.対応するパラメータは、シンボル整形ポインタを指す必要があります.これまでに書き込まれた文字数は、指向された位置に格納されます.
%
1%文字の後に続く別の%は1%に書き込まれます.
%
ひょうしき
ひょうしき
説明
-
指定したフィールド幅内で左揃え;右揃えはデフォルトです(幅サブ説明子を参照).
+
結果が正数であっても、結果に正負の記号(+または-)を付ける.デフォルトでは、負の数だけが正負の記号になります.
(space)
正負記号が書き込まれていない場合は、スペースを挿入します.
#
o,xまたはXの説明子と一緒に使用すると、0以外の数字の前に0,0 xまたは0 Xの接頭辞が加算されます.a,A,e,E,f,F,gまたはGと併用すると,小数点がなくても強制的に書き込み出力に小数点が含まれる.デフォルトでは、小数点がなければ小数点は書き込まれません.
0
入力するときは、スペースの代わりにゼロ(0)を使用します(幅サブ説明子を参照).
幅
幅
説明
(数値)
印刷する最小文字数.印刷する値の長さがこの数字より小さい場合、結果はスペースに入力されます.値の長さがこの数値より大きい場合、値は切り捨てられません.
*
幅はformat文字列では指定されていませんが、追加のパラメータで指定する必要があります.
せいど
せいど
説明
.数値
整数タイプ(d,i,o,u,x,X):精度書き込みの最小桁数を指定します.書き込みたい値がこの数字より短い場合、結果は以前はゼロになります.結果が長くても値は切り捨てられません.精度0は値0に対して文字が書き込まれていないことを示します.a,A,e,E,f,Fタイプ:小数点以下で印刷する桁数です(デフォルトは6).gおよびGタイプの場合:これは印刷する有効な数字の最大数です.sタイプの場合:これは印刷する最大文字数です.デフォルトでは、最後の空の文字になるまですべての文字が印刷されます.精度を指定したときに明確な精度値がない場合は、0とします.
.*
format文字列には精度は指定されていませんが、追加のパラメータで指定する必要があります.
長さ
長さ
d i
u o x X
f F e E g G a A
c
s
p
n
(none)
int
unsigned int
double
int
char*
void*
int*
hh
signed char
unsigned char
signed char*
h
short int
unsigned short int
short int*
l
long int
unsigned long int
wint_t
wchar_t*
long int*
ll
long long int
unsigned long long int
long long int*
j
intmax_t
uintmax_t
intmax_t*
z
size_t
size_t
size_t*
t
ptrdiff_t
ptrdiff_t
ptrdiff_t*
L
long double
注意事項: cタイプ:int(またはwint_t)をパラメータとして使用するが、出力にフォーマットする前にchar値(またはwchar_t) に変換する.太字斜体の符号はC 99規格 に属する.
サンプルコード
実行結果
参考資料
本文の重要な参考資料:http://www.cplusplus.com/reference/cstdio/printf/
Androidソフトキーボードの難病を探求Android非同期の精髄Handler Androidの主流フレームワークの不可欠な基盤を詳しく理解ソースコードの肩に立ってScrollerの動作メカニズムを完全に理解する
Androidマルチ解像度アダプティブフレームワーク(1)—コアベースAndroidマルチ解像度アダプティブフレームワーク(2)—原理解析Androidマルチ解像度アダプティブフレームワーク(3)—使用マニュアル
著作権声明
printf()フォーマットの一般的な形式は次のとおりです.
%[フラグ][幅][精度][長さ]タイプ
各部分の詳細は以下の通りである.
を選択します.
を選択します.
しゅつりょく
例
dまたはi
符号付き十進法整形
392
u
むきごうじっしんせいけい
7235
o
符号なし8進数
610
x
符号なし16進整形
7fa
X
符号なし16進整形(大文字)
7FA
f
10進浮動小数点数、小文字
392.65
F
10進浮動小数点数、大文字
392.65
e
科学計数法(末尾/指数)、小文字
3.9265e+2
E
科学計数法(末尾/指数)、大文字
3.9265E+2
g
最も短い表現:%eまたは%fを使用
392.65
G
最短表示:%Eまたは%F
392.65
a
16進浮動小数点数、小文字
-0xc.90fep-2
A
16進浮動小数点数、大文字
-0XC.90FEP-2
c
文字
a
s
文字列
sample
p
ポインタアドレス
b8000000
n
印刷しません.対応するパラメータは、シンボル整形ポインタを指す必要があります.これまでに書き込まれた文字数は、指向された位置に格納されます.
%
1%文字の後に続く別の%は1%に書き込まれます.
%
ひょうしき
ひょうしき
説明
-
指定したフィールド幅内で左揃え;右揃えはデフォルトです(幅サブ説明子を参照).
+
結果が正数であっても、結果に正負の記号(+または-)を付ける.デフォルトでは、負の数だけが正負の記号になります.
(space)
正負記号が書き込まれていない場合は、スペースを挿入します.
#
o,xまたはXの説明子と一緒に使用すると、0以外の数字の前に0,0 xまたは0 Xの接頭辞が加算されます.a,A,e,E,f,F,gまたはGと併用すると,小数点がなくても強制的に書き込み出力に小数点が含まれる.デフォルトでは、小数点がなければ小数点は書き込まれません.
0
入力するときは、スペースの代わりにゼロ(0)を使用します(幅サブ説明子を参照).
幅
幅
説明
(数値)
印刷する最小文字数.印刷する値の長さがこの数字より小さい場合、結果はスペースに入力されます.値の長さがこの数値より大きい場合、値は切り捨てられません.
*
幅はformat文字列では指定されていませんが、追加のパラメータで指定する必要があります.
せいど
せいど
説明
.数値
整数タイプ(d,i,o,u,x,X):精度書き込みの最小桁数を指定します.書き込みたい値がこの数字より短い場合、結果は以前はゼロになります.結果が長くても値は切り捨てられません.精度0は値0に対して文字が書き込まれていないことを示します.a,A,e,E,f,Fタイプ:小数点以下で印刷する桁数です(デフォルトは6).gおよびGタイプの場合:これは印刷する有効な数字の最大数です.sタイプの場合:これは印刷する最大文字数です.デフォルトでは、最後の空の文字になるまですべての文字が印刷されます.精度を指定したときに明確な精度値がない場合は、0とします.
.*
format文字列には精度は指定されていませんが、追加のパラメータで指定する必要があります.
長さ
長さ
d i
u o x X
f F e E g G a A
c
s
p
n
(none)
int
unsigned int
double
int
char*
void*
int*
hh
signed char
unsigned char
signed char*
h
short int
unsigned short int
short int*
l
long int
unsigned long int
wint_t
wchar_t*
long int*
ll
long long int
unsigned long long int
long long int*
j
intmax_t
uintmax_t
intmax_t*
z
size_t
size_t
size_t*
t
ptrdiff_t
ptrdiff_t
ptrdiff_t*
L
long double
注意事項:
サンプルコード
#include
int main()
{
printf ("Characters: %c %c
", 'a', 65);
printf ("Decimals: %d %ld
", 1977, 650000L);
printf ("Preceding with blanks: %10d
", 1977);
printf ("Preceding with zeros: %010d
", 1977);
printf ("Some different radices: %d %x %o %#x %#o
", 100, 100, 100, 100, 100);
printf ("floats: %4.2f %+.0e %E
", 3.1416, 3.1416, 3.1416);
printf ("Width trick: %*d
", 5, 10);
printf ("%s
", "A string");
return 0;
}
実行結果
Characters: a A
Decimals: 1977 650000
Preceding with blanks: 1977
Preceding with zeros: 0000001977
Some different radices: 100 64 144 0x64 0144
floats: 3.14 +3e+000 3.141600E+000
Width trick: 10
A string
参考資料
本文の重要な参考資料:http://www.cplusplus.com/reference/cstdio/printf/