为了账号安全,请及时绑定邮箱和手机立即绑定

菜鸟提问c++的语句问题

菜鸟提问c++的语句问题

C++
忆留白 2017-05-25 10:33:33
在c++中cin.setf(ios::hex,ios::basefield)啥意思?特别是后面的basefield什么意思?有什么作用?
查看完整描述

1 回答

?
onemoo

TA贡献883条经验 获得超454个赞

cin 的 setf 函数是给输入流设置“格式化flag”。

第一个参数是这次要设置的 flag(你这里设成了 hex,表示将十六进制用于整型值)。

第二个参数的作用是掩码(这个掩码其实就是某些 flag 的组合),该掩码的作用是影响第一个参数的设置范围。或者说 setf 会先清除掉这个掩码所表示的 flag,然后再设置第一个参数的 flag。

而 basefield 这个预设好的掩码值是 dec | oct | hex | 0,其实就是把十进制、八进制和十六进制都包括了。

那么 cin.setf(ios::hex,ios::basefield) 的意思就是:清除掉之前设置的关于整型进制的 flag,然后将整型进制设置为 hex。

查看完整回答
反对 回复 2017-06-30
  • 1 回答
  • 0 关注
  • 1275 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信