请教大家一个简单的问题 :)
#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



