如何输入bool型?

heefly
如何输入bool型?

c++在判断bool是以0与非零作为标准的。
如果我定义bool  flag;   cin>>flag;(输入0为假,非零为真)。
需要怎么去控制?
谢谢指教!

tyc611
你不是说了“输入0为假,非零为真”?

heefly
直接这样好像是不行的,是不是要控制一下流,要不bool就和int没有什么区别了。
用cin.setf(...)不知道怎么用,怎么都没有试出来啊。

tyc611
回复 #3 heefly 的帖子

你可以不可以读入一个int型,再转换?

tyc611
测试了下,VC9中只有输入0和1有效,看帮助也没有明确说明

heefly
[quote]原帖由 [i]tyc611[/i] 于 2008-6-29 23:16 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699129&ptid=1184029][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
你可以不可以读入一个int型,再转换? [/quote]
应该是可以的,不过我不希望这样将就将就。:wink:

heefly
[quote]原帖由 [i]tyc611[/i] 于 2008-6-29 23:25 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699164&ptid=1184029][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]
测试了下,VC9中只有输入0和1有效,看帮助也没有明确说明 [/quote]
厉害,都用vc9了,在哪里能下载到,我还用vc6呢(不会是打错了吧:mrgreen: :mrgreen: )?

tyc611
[quote]原帖由 [i]heefly[/i] 于 2008-6-29 23:27 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699178&ptid=1184029][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

厉害,都用vc9了,在哪里能下载到,我还用vc6呢(不会是打错了吧:mrgreen: :mrgreen: )? [/quote]
官方下载试用版,然后到网上找个序列号即可,VC6太老了

tyc611
[quote]原帖由 [i]heefly[/i] 于 2008-6-29 23:25 发表 [url=http://bbs.chinaunix.net/redirect.php?goto=findpost&pid=8699169&ptid=1184029][img]http://bbs.chinaunix.net/images/common/back.gif[/img][/url]

应该是可以的,不过我不希望这样将就将就。:wink: [/quote]
我又测了下
好像输入必须与输出一样,比如输出是0,1,所以输入也应该是0,1
如果使用了boolalpha,则可以输入true, false
可能你只得将就了