在线文档教程
C++
输入/输出 | Input/output

std::noshowbase

STD::展示基础,STD::nohowbase

Defined in header
std::ios_base& showbase( std::ios_base& str (1)
std::ios_base& noshowbase( std::ios_base& str (2)

1%29启用showbase溪流中的旗子str好像通过打电话str.setf(std::ios_base::showbase)...

2%29禁用showbase溪流中的旗子str好像通过打电话str.unsetf(std::ios_base::showbase)...

这是一个I/O操作程序,可以用表达式调用它,如out << std::showbase对任何out类型std::basic_ostream或使用表达式,如in >> std::showbase对任何in类型std::basic_istream...

showbase标志影响整数输出%28的行为(参见std::num_put::put%29,货币投入%28见std::money_get::get%29和货币产出%28见std::money_put::put29%。

参数

str-reference to I/O stream

返回值

str%28操作后对流的引用%29。

注记

std::num_put::put,整数输出中的显示基标志的作用类似于std::printf,这意味着数字基前缀是在输出值为零时添加。

二次

#include <sstream> #include <locale> #include <iostream> #include <iomanip> int main() { // showbase affects the output of octals and hexadecimals std::cout << std::hex << "showbase: " << std::showbase << 42 << '\n' << "noshowbase: " << std::noshowbase << 42 << '\n'; // and both input and output of monetary values std::locale::global(std::locale("en_US.utf8") long double val = 0; std::istringstream is("3.14" is >> std::showbase >> std::get_money(val std::cout << "With showbase, parsing 3.14 as money gives " << val << '\n'; is.seekg(0 is >> std::noshowbase >> std::get_money(val std::cout << "Without showbase, parsing 3.14 as money gives " << val << '\n'; }

二次

产出:

二次

showbase: 0x2a noshowbase: 2a With showbase, parsing 3.14 as money gives 0 Without showbase, parsing 3.14 as money gives 314

二次

另见

resetiosflagsclears the specified ios_base flags (function)
setiosflagssets the specified ios_base flags (function)

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/manip/howbase