Namespaces
Variants

std:: setfill

From cppreference.net
< cpp ‎ | io ‎ | manip
Определено в заголовке <iomanip>
template < class CharT >
/*unspecified*/ setfill ( CharT c ) ;

При использовании в выражении out << setfill ( c ) устанавливает символ заполнения потока out в значение c .

Содержание

Параметры

c - новое значение символа заполнения

Возвращаемое значение

Объект неуказанного типа, такой что

  • если out является объектом типа std:: basic_ostream < CharT, Traits > , выражение out << setfill ( c )
    • имеет тип std:: basic_ostream < CharT, Traits > &
    • имеет значение out
    • ведет себя так, как если бы оно вызвало f ( out, c )

где функция f определена как:

template<class CharT, class Traits>
void f(std::basic_ios<CharT, Traits>& str, CharT c)
{
    // установка символа заполнения
    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> )
устанавливает расположение символов-заполнителей
(функция)
изменяет ширину следующего поля ввода/вывода
(функция)