命名空间
变体
操作

std::left、std::right、std::internal

来自 cppreference.com
< cpp‎ | io‎ | manip
 
 
 
输入/输出操纵符
浮点数格式
整数格式
布尔格式
字段宽度和填充控制
internalleftright
其他格式
空白处理
输出刷新
(C++20)  

状态标志操作
时间和货币 I/O
(C++11)
(C++11)
(C++11)
(C++11)
带引号的操纵符
(C++14)
 
在头文件 <ios> 中定义
(1)
(2)
std::ios_base& internal( std::ios_base& str );
(3)

修改输出流中填充字符的位置。leftright 应用于任何类型的输出,internal 应用于整数、浮点数和货币输出。对输入没有影响。

1) 将流的 adjustfield str 设置为 left,就像通过调用 str.setf(std::ios_base::left, std::ios_base::adjustfield) 一样。
2) 将流的 adjustfield str 设置为 right,就像通过调用 str.setf(std::ios_base::right, std::ios_base::adjustfield) 一样。
3) 将流的 adjustfield str 设置为 internal,就像通过调用 str.setf(std::ios_base::internal, std::ios_base::adjustfield) 一样。

标准流的初始默认值等效于 right

这是一个 I/O 操纵符。它可以与表达式一起调用,例如 out << std::left,对于任何类型为 std::basic_ostreamout,或者与表达式一起调用,例如 in >> std::left,对于任何类型为 std::basic_istreamin

内容

[编辑] 参数

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

[编辑] 另请参见

更改下一个输入/输出字段的宽度
(函数) [编辑]
更改填充字符
(函数模板) [编辑]
控制是否使用前缀来指示数字基数
(函数) [编辑]