在线
客服

发布
需求

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

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

在c++中cin.setf(ios::hex,ios::basefield)啥意思?特别是后面的basefield什么意思?有什么作用?

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与1

cin 的setf 函数是给输入流设置“格式化flag”。
第一个参数是这次要设置的 flag(你这里设成了hex,表示将十六进制用于整型值)。
第二个参数的作用是掩码(这个掩码其实就是某些 flag 的组合),该掩码的作用是影响第一个参数的设置范围。或者说 setf 会先清除掉这个掩码所表示的 flag,然后再设置第一个参数的 flag。
而 basefield 这个预设好的掩码值是dec | oct | hex | 0,其实就是把十进制、八进制和十六进制都包括了。
那么 cin.setf(ios::hex,ios::basefield) 的意思就是:清除掉之前设置的关于整型进制的 flag,然后将整型进制设置为 hex。

使用道具 举报

发新帖
国内首家创新型IT技术需求众包服务平台,软件需求就上天盟网! 立即登录 立即注册