setf 使用方法

setf 

语法:

  fmtflags setf( fmtflags flags );

  fmtflags setf( fmtflags flags, fmtflags needed );

函数setf()设置当前流的格式化标志flags。可选标志needed 只允许flags标志和needed标志都被设置。返回值是前面设置的标志。

1.      使用方法一  fmtflags setf (fmtflags )

语法

功能

ios_base::boolalpha    

输入和输出bool值,可以为true或false

ios_base::showbse      

对于输出,使用C++基数前缀(0,0x)

ios_base::showpoint    

显示末尾的小数点

ios_base::uppercase   

对于16进制输出,使用大写字母E表示法

ios_base:;showpos      

在正数前面加上+

 

Tips:

 

这些格式常量都是在ios_base类中定义的,因此使用时,必须加上作用域解析操作符。如果不想使用using编译指令或using声明,可以使用作用域操作符来指出这些名称位于名称空间std中,即std::ios_base。

位格式常量一旦修改一直有效,直到被覆盖为止。(在头文件iostream。h中使用的是ios类而不是ios_base类)

 

例如:

 

int number = 10 ;
cout.setf (ios:: showpos);
cout << number << endl;


输出:

+10

 

2.      使用方法二fmtflags setf (fmtflags, fmtflags )

 

第二参数

第一参数

含义

ios::basefield

ios::hex

使用基数16

ios::oct

使用基数8

ios::dec

使用基数10

ios::floatfield

ios::fixed

使用定点计数法

ios::scientific

使用科学计数法

ios:: adjustfield

ios ::left

使用左对齐

ios ::right

使用右对齐

ios ::internal

符号或基数前缀左侧对齐,值右侧对齐

 

 

例如:

 

   

 intnumber = 0x3FF;
   cout.setf( ios::dec,ios_base :: basefield);
    cout << "Decimal: " <<number << endl;
   cout.unsetf( ios::dec ,ios_base :: basefield);
   cout.setf( ios::hex );
   cout << "Hexadecimal: " << number << endl;

输出 :

 

Decimal : 63
Hexadecimal :3f


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值