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 | можно использовать с любым символьным потоком вывода |
См. также
| управляет символом заполнения (открытая функция-член std::basic_ios<CharT,Traits>) |
|
| задаёт расположение символов заполнения (функция) |
|
| изменяет ширину следующего поля ввода/вывода (функция) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/manip/setfill