1. setw(int n) — 輸出寬度控制
- 頭文件:
<iomanip>
- 作用:設置**下一個**輸出項的最小寬度,不足填充字符(默認空格)。
- 一次性:僅對緊隨其後的輸出操作生效。
- 超寬:若實際輸出超過 n,按實際長度輸出(不截斷)。
示例
cout << 's' << setw(8) << 'a' << endl;
配合 setfill 自定義填充字符
cout << setfill('*') << setw(5) << 'a' << endl;
2. %x — 十六進制輸出
- 對應
unsigned int(或隱式轉換的整型)。
- 輸出小寫十六進制(
%X 大寫)。
- 無前綴
0x;需前綴用 %#x。
- 負數按補碼無符號解釋輸出(如
-1 → ffffffff)。
示例
int a = 255;
printf("%x\n", a);
printf("%#x\n", a);
printf("%x\n", -1);
常用格式化速查表
| 格式 | 含義 | 示例 |
setw(n) | 下一輸出最小寬度 n | cout< |
setfill(c) | 填充字符 c | cout< |
%x | 十六進制無符號 | printf("%x", 255); // "ff" |
%#x | 帶 0x 前綴 | printf("%#x", 255); // "0xff" |
%08x | 寬度 8,前導 0 | printf("%08x", 15); // "0000000f" |