Spec-Zone.ru › C++

std::setfill

Определён в заголовке <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)
{
    // 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++.

Отчёт об ошибке Применяется к Опубликованное поведение Правильное поведение
LWG 183 C++98 setbase можно было использовать только с
потоками типа std::ostream
можно использовать с любым символьным
потоком вывода

См. также

fill
управляет символом заполнения
(открытая функция-член std::basic_ios<CharT,Traits>)
internalleftright
задаёт расположение символов заполнения
(функция)
setw
изменяет ширину следующего поля ввода/вывода
(функция)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/manip/setfill

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API