std::left, std::right, std::internal
来自cppreference.com
| 在标头 <ios> 定义
|
||
| |
(1) | |
| |
(2) | |
| |
(3) | |
修改填充字符的默认定位。left 与 right 应用到任何输出,而 internal 应用到整数、浮点和货币输出。在输入时无效果。
1) 如同用调用
str.setf(std::ios_base::left, std::ios_base::adjustfield),设置流 str 的 adjustfield 为 left。2) 如同用调用
str.setf(std::ios_base::right, std::ios_base::adjustfield),设置流 str 的 adjustfield 为 right。3) 如同用调用
str.setf(std::ios_base::internal, std::ios_base::adjustfield),设置流 str 的 adjustfield 为 internal。标准流的初始缺省值等价于 right。
这是一个 I/O 操纵符,可用如 out << std::left 的表达式对任何 std::basic_ostream 类型的 out 或用如 in >> std::left 的表达式对任何 std::basic_istream 类型的 in 调用。
参数
| str | - | 到 I/O 流的引用 |
返回值
str(到操纵后的流的引用)。
示例
运行此代码
#include <iomanip>
#include <iostream>
#include <locale>
int main()
{
std::cout.imbue(std::locale("en_US.utf8"));
std::cout << "Default positioning:\n" << std::setfill('*')
<< std::setw(12) << -1.23 << '\n'
<< std::setw(12) << std::hex << std::showbase << 42 << '\n'
<< std::setw(12) << std::put_money(123, true) << "\n\n";
std::cout << "Left positioning:\n" << std::left
<< std::setw(12) << -1.23 << '\n'
<< std::setw(12) << 42 << '\n'
<< std::setw(12) << std::put_money(123, true) << "\n\n";
std::cout << "Internal positioning:\n" << std::internal
<< std::setw(12) << -1.23 << '\n'
<< std::setw(12) << 42 << '\n'
<< std::setw(12) << std::put_money(123, true) << "\n\n";
std::cout << "Right positioning:\n" << std::right
<< std::setw(12) << -1.23 << '\n'
<< std::setw(12) << 42 << '\n'
<< std::setw(12) << std::put_money(123, true) << '\n';
}
输出:
Default positioning:
*******-1.23
********0x2a
***USD *1.23
Left positioning:
-1.23*******
0x2a********
USD *1.23***
Internal positioning:
-*******1.23
0x********2a
USD ****1.23
Right positioning:
*******-1.23
********0x2a
***USD *1.23
参阅
| 更改下个输入/输出字段的宽度 (函数) | |
| 更改填充字符 (函数模板) | |
| 控制是否使用前缀指示数值基数 (函数) |