命名空间
变体
操作

std::setfill

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

状态标志操作
时间和货币 I/O
(C++11)
(C++11)
(C++11)
(C++11)
引用操纵符
(C++14)
 
定义于头文件 <iomanip>
template< class CharT >
/*unspecified*/ setfill( CharT c );

在表达式 out << setfill(c) 中使用时,将流 out 的填充字符设置为 c

内容

[编辑] 参数

c - 填充字符的新值

[编辑] 返回值

未指定类型的对象,使得

  • 如果 out 是类型为 std::basic_ostream<CharT, Traits> 的对象,则表达式 out << setfill(c)

其中函数 f 定义为

template<class CharT, class Traits>
void f(std::basic_ios<CharT, Traits>& str, CharT c)
{
    // set fill character
    str.fill(c);
}

[编辑] 注解

当前的填充字符可以使用 std::ostream::fill 获取。

[编辑] 示例

#include <iomanip>
#include <iostream>
 
int main()
{
    std::cout << "default fill: [" << std::setw(10) << 42 << "]\n"
              << "setfill('*'): [" << std::setfill('*')
                                   << std::setw(10) << 42 << "]\n";
}

输出

default fill: [        42]
setfill('*'): [********42]

[编辑] 缺陷报告

以下行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。

DR 应用于 发布时的行为 正确的行为
LWG 183 C++98 setbase 只能用于
类型为 std::ostream 的流
可用于任何输出
字符流

[编辑] 参见

管理填充字符
(std::basic_ios<CharT,Traits> 的公共成员函数) [编辑]
设置填充字符的位置
(函数) [编辑]
更改下一个输入/输出字段的宽度
(函数) [编辑]