命名空间
变体
操作

std::left, std::right, std::internal

来自 cppreference.cn
< cpp‎ | io‎ | 操纵器
 
 
 
输入/输出操纵器
浮点格式化
整数格式化
布尔格式化
字段宽度和填充控制
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) 将流 stradjustfield 设置为 left,如同调用 str.setf(std::ios_base::left, std::ios_base::adjustfield)
2) 将流 stradjustfield 设置为 right,如同调用 str.setf(std::ios_base::right, std::ios_base::adjustfield)
3) 将流 stradjustfield 设置为 internal,如同调用 str.setf(std::ios_base::internal, std::ios_base::adjustfield)

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

这是一个 I/O 操纵器。对于类型为 std::basic_ostream 的任何 out,它可以通过表达式 out << std::left 调用;对于类型为 std::basic_istream 的任何 in,可以通过表达式 in >> std::left 调用。

目录

[编辑] 参数

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

[编辑] 参阅

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