setw() 是 C++ 標準庫 <iomanip> 中的流操縱符,全稱 set width,用於**設置下一個輸出項目的最小寬度**。
#include <iomanip>
// ...
std::cout << std::setw(寬度) << 輸出值;
std::setfill('*') 修改。#include <iostream>
#include <iomanip>
int main() {
int num = 42;
double pi = 3.14159;
// 基本用法:右對齊,左側補空格
std::cout << "默認右對齊:" << std::endl;
std::cout << std::setw(10) << num << std::endl; // 輸出: " 42"
std::cout << std::setw(10) << pi << std::endl; // 輸出: " 3.14159"
// 修改填充字符為 '0',常用於數字對齊
std::cout << std::setfill('0');
std::cout << "填充 0:" << std::endl;
std::cout << std::setw(6) << num << std::endl; // 輸出: "000042"
// 配合 left 實現左對齊
std::cout << std::left << std::setfill(' ');
std::cout << "左對齊:" << std::endl;
std::cout << std::setw(10) << "Hello" << std::endl; // 輸出: "Hello "
return 0;
}
<iomanip> 頭文件。setw 不會改變流的永久格式狀態,屬於「一次性」操縱符。std::cin 也可使用 setw 限制讀取字符數(如防止緩衝區溢出)。掌握 setw() 及其夥伴 setfill()、left/right,能讓你的控制台輸出瞬間專業化,是 C++ 格式化輸出的基石技能。