[C/C++] 格式化字串引數介紹
阿新 • • 發佈:2018-11-15
格式化輸出標準格式
% [flag] [fldwidth] [precision] [lenmodifier] convtype
格式化輸入標準格式
% [*] [fldwidth] [m] [lenmodifier] convtype
*用於抑制轉換,按照轉換說明的其餘部分對輸入進行轉換,但轉換結果並不存放在引數中。
flag | 說明 |
---|---|
’ | 將整數按千分位分組字元 |
- | 在欄位內左對齊輸出 |
+ | 總是現實代符號轉換的正負號 |
space | 如果第一個字元不是正負號,則在其前面加上一個空格 |
# | 指定另一種轉換格式(如十六進位制加0x字首) |
0 | 新增前導0進行填充 |
fldwidth說明最小欄位寬度,多餘字元位置用空格填充。
precision說明整形轉換後最少輸出字元數、浮點數轉換後小數點後的最少位數、字串轉換後最大位元組數。
lenmodifier | 說明 |
---|---|
hh | 按signed或unsigned char輸出 |
h | 按signed或unsigned short輸出 |
l | 按signed或unsigned long或寬字元輸出 |
ll | 按signed或unsigned long long輸出 |
j | intmax_t或uintmax_t |
z | size_t |
t | ptrdiff_t |
L | long double |
convtype | 說明 |
---|---|
d、i | 有符號十進位制 |
o | 無符號八進位制 |
u | 無符號十進位制 |
x、X | 無符號十六進位制 |
f、F | 雙精度浮點數 |
e、E | 指數格式雙精度浮點數 |
g、G | 根據轉換後的值解釋為f、F、e、E |
a、A | 十六進位制指數格式雙精度浮點數 |
c | 字元(若帶長度修飾服l,則表示寬字元) |
s | 字串(若帶長度修飾服l,則表示寬字串) |
p | 指向void的指標 |
n | 到目前為值,此printf呼叫輸出的字元的數目將被寫入到指標所指向的代符號整形中 |
% | 一個%字元 |
C | 寬字元,等效於lc |
S | 寬字串,等效於ls |