命名空间
变体
操作

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

来自 cppreference.cn
< 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) 将流 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 操纵符。 它可以与诸如 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

[编辑] 参见

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