C++ IOS::fill() 函数



C++ 的std::ios::fill()函数用于设置在执行格式化输出操作时填充未使用空格的字符。这在对齐输出流中的文本时非常有用,可以确保一致的间距。

默认情况下,填充字符为空格,但可以使用fill()进行自定义。

语法

以下是std::ios::fill()函数的语法。

char fill() const;
char fill (char fillch);

参数

  • fillch − 表示新的填充字符。

返回值

它返回调用之前的填充字符的值。

异常

如果抛出异常,流处于有效状态。

数据竞争

访问或修改流对象。

同时访问同一个流对象可能会导致数据竞争。

示例

在下面的示例中,我们将考虑fill()函数的基本用法。

#include <iostream>
#include <iomanip>
int main()
{
    std::cout << "Default Fill: ";
    std::cout << std::setw(5) << 123 << std::endl;
    std::cout << "Custom Fill: ";
    std::cout.fill('*');
    std::cout << std::setw(6) << 121 << std::endl;
    return 0;
}

输出

以上代码的输出如下:

Default Fill:   123
Custom Fill: ***121

示例

考虑下面的例子,我们将用不同的字符填充它。

#include <iostream>
#include <iomanip>
int main()
{
    std::cout.fill('*');
    std::cout << std::setw(9) << 111 << std::endl;
    std::cout.fill('^');
    std::cout << std::setw(7) << 222 << std::endl;
    std::cout.fill('-');
    std::cout << std::setw(5) << 333 << std::endl;
    return 0;
}

输出

以下是上述代码的输出:

******111
^^^^222
--333

示例

让我们来看下面的例子,我们将使用fill()和字符串。

#include <iostream>
#include <iomanip>
int main()
{
    std::string a = "TutorialsPoint";
    std::cout << "Default Fill: " << std::setw(17) << a << std::endl;
    std::cout.fill('*');
    std::cout << "Custom Fill: " << std::setw(17) << a << std::endl;
    return 0;
}

输出

如果我们运行上述代码,它将生成以下输出:

Default Fill:    TutorialsPoint
Custom Fill: ***TutorialsPoint
ios.htm
广告