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++.

DR Применён к Поведение как опубликовано Правильное поведение
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/w/cpp/io/manip/setfill

Spec-Zone.ru

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