CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

请教大家一个简单的问题 :)

楼主dreamboy1123(毛主席说我帅)2003-08-03 00:49:13 在 C/C++ / C语言 提问

#include   <iostream.h>  
  void   main()  
  {  
  cin.clear(cin.rdstate()|ios::badbit);  
  cout   <<cout.rdstate()<<endl;  
  }  
   
  书上说cin.clear()   加上参数可以设置标志位   ,于是我cin.clear(cin.rdstate()|ios::badbit);   可是显示时cout<<cout.rdstate()<<endl;   的结果是   0  
  为什么是0   呀   ?   应该是0x04   呀?  
   
  有人说我设置了cin的标志位,然后输出cout的状态信息  
  cout   <<cout.rdstate()<<endl;  
  但cout   不是显示到屏幕吗?     如果不是那怎么看cin标志位呀? 问题点数:20、回复次数:4Top

1 楼pengzhenwanli(紫气日盈)回复于 2003-08-03 08:42:14 得分 10

书上说cin.clear()   加上参数可以设置标志位   ,于是我cin.clear(cin.rdstate()|ios::badbit);   可是显示时cout<<cout.rdstate()<<endl;   的结果是   0  
  为什么是0   呀   ?   应该是0x04   呀?  
  你想想,你设置的cin的标志位,但是你读的是显然是cout的标志位?  
  #include   <iostream>  
  using   namespace   std;  
  int   main()  
  {  
  cin.clear(cin.rdstate()|ios::badbit);  
  cout   <<cin.rdstate()<<endl;  
  }  
  你改成这样,自然看到cin的标志位,cin的标志位输出到cout(屏幕)Top

2 楼njuhuangmy(茶)回复于 2003-08-03 08:52:52 得分 5

没能   看懂楼上的这一位   有何区别   啊??  
   
  呵呵,   include   的效果   是一样的  
   
  函数   返回   不一样   ,但也   没返回值Top

3 楼pengzhenwanli(紫气日盈)回复于 2003-08-03 09:26:52 得分 5

cout   <<cin.rdstate()<<endl;  
  这一句的区别,我是输出的cin.rdstate();  
  搂主输出的是cou.rdstate();  
  楼主设置的是cin得但是输出的是cout得?  
  懂了吗?Top

4 楼njuhuangmy(茶)回复于 2003-08-05 22:25:14 得分 0

呵呵   我粗心   没看仔细:)  
   
  //shyTop

相关问题

  • 简单!
  • 简单
  • 简单~~~
  • 简单
  • 简单!
  • 简单
  • 简单
  • 简单……
  • 简单问题不简单!
  • 简单的简单啊!

关键词

  • badbit
  • cin
  • rdstate
  • clear
  • cout
  • ios
  • main

得分解答快速导航

  • 帖主:dreamboy1123
  • pengzhenwanli
  • njuhuangmy
  • pengzhenwanli

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo