setw() 用于控制输出之间的间隔
#include <iomanip>
using std::setw;cout<<'s'<<setw(8)<<'a'<<endl;
s和a之间有7个空格,cout<<'s'<<setw(8)<<'a'<<endl;的意思是s后面输出8个字符,其中a占一个字符,剩余7个字符用空格填充
setw()默认填充的内容为空格,可以setfill()设置其他字符填充。
cout<<'s'<<setfill('*')<<setw(8)<<'a'<<endl;
则输出:
setw()默认为右对齐,例如下面例子:
cout << std::setw(5) << "1" << endl;cout << std::setw(5) << "10" << endl;cout << std::setw(5) << "100" <<endl;cout << std::setw(5) << "1000" <<endl;
如需左对齐,则:
cout << std::left<< std::setw(5) << "1" << endl;cout << std::left<< std::setw(5) << "10" << endl;cout << std::left<< std::setw(5) << "100" <<endl;cout << std::left<< std::setw(5) << "1000" <<endl;