std:: showbase, std:: noshowbase
|
Определено в заголовочном файле
<ios>
|
||
|
std::
ios_base
&
showbase
(
std::
ios_base
&
str
)
;
|
(1) | |
|
std::
ios_base
&
noshowbase
(
std::
ios_base
&
str
)
;
|
(2) | |
showbase
в потоке
str
как если бы был вызван
str.
setf
(
std::
ios_base
::
showbase
)
.
showbase
в потоке
str
, как если бы был вызван
str.
unsetf
(
std::
ios_base
::
showbase
)
.
Это манипулятор ввода-вывода, который может быть вызван выражением вида
out
<<
std
::
showbase
для любого
out
типа
std::basic_ostream
или выражением вида
in
>>
std
::
showbase
для любого
in
типа
std::basic_istream
.
Флаг
showbase
влияет на поведение целочисленного вывода (см.
std::num_put::put
), денежного ввода (см.
std::money_get::get
) и денежного вывода (см.
std::money_put::put
).
Содержание |
Параметры
| str | - | ссылка на поток ввода-вывода |
Возвращаемое значение
str (ссылка на поток после манипуляции).
Примечания
Как указано в std::num_put::put , флаг showbase при целочисленном выводе действует подобно спецификатору формата # в std::printf , что означает, что префикс системы счисления не добавляется при выводе нулевого значения.
Пример
#include <iomanip> #include <iostream> #include <locale> #include <sstream> int main() { // showbase влияет на вывод восьмеричных и шестнадцатеричных чисел std::cout << std::hex << "showbase: " << std::showbase << 42 << '\n' << "noshowbase: " << std::noshowbase << 42 << '\n'; // а также на ввод и вывод денежных значений std::locale::global(std::locale("en_US.UTF8")); long double val = 0; std::istringstream("3.14") >> std::showbase >> std::get_money(val); std::cout << "С showbase, разбор 3.14 как денежного значения дает " << val << '\n'; std::istringstream("3.14") >> std::noshowbase >> std::get_money(val); std::cout << "Без showbase, разбор 3.14 как денежного значения дает " << val << '\n'; }
Вывод:
showbase: 0x2a noshowbase: 2a With showbase, parsing 3.14 as money gives 0 Without showbase, parsing 3.14 as money gives 314
Смотрите также
|
очищает указанные флаги ios_base
(функция) |
|
устанавливает указанные
ios_base
флаги
(функция) |