C++中setw()的用法?

2025-02-12 02:36:31
推荐回答(4个)
回答1:

使用setw(n)设置输出宽度时,默认为右对齐,如下:
std::cout
<<
std::setw(5)
<<
"1"
<<
std::endl;
std::cout
<<
std::setw(5)
<<
"10"
<<
std::endl;
std::cout
<<
std::setw(5)
<<
"100"
<<
std::endl;
std::cout
<<
std::setw(5)
<<
"1000"
<<
std::endl;
输出结果:
//
//
1
//
10
//
100
//
1000
若想让它左对齐的话,只需要插入
std::left,如下:
std::cout
<<
std::left
<<
std::setw(5)
<<
"1"
<<
std::endl;
std::cout
<<
std::left
<<
std::setw(5)
<<
"10"
<<
std::endl;
std::cout
<<
std::left
<<
std::setw(5)
<<
"100"
<<
std::endl;
std::cout
<<
std::left
<<
std::setw(5)
<<
"1000"
<<
std::endl;
输出结果:
1
10
100
1000
同理,右对齐只要插入
std::right,不过右对齐是默认状态,不必显式声明。

回答2:

表示数据至少占5个字符位置,而且是靠右对齐

回答3:

http://zhidao.baidu.com/question/111598526.html

这是c++兼容c

回答4:

使用setw(n)设置输出宽度时,默认为右对齐,如下:
std::cout << std::setw(5) << "1" << std::endl;
std::cout << std::setw(5) << "10" << std::endl;
std::cout << std::setw(5) << "100" << std::endl;
std::cout << std::setw(5) << "1000" << std::endl;
输出结果:
//
// 1
// 10
// 100
// 1000
若想让它左对齐的话,只需要插入 std::left,如下:
std::cout << std::left << std::setw(5) << "1" << std::endl;
std::cout << std::left << std::setw(5) << "10" << std::endl;
std::cout << std::left << std::setw(5) << "100" << std::endl;
std::cout << std::left << std::setw(5) << "1000" << std::endl;
输出结果:
1
10
100
1000

同理,右对齐只要插入 std::right,不过右对齐是默认状态,不必显式声明。