请教输出为什么是这个?

请问输出为什么是这个??intacin acout cin.rdstate() endl像这段代码,假如输入的是int型,输出

请问输出为什么是这个??
int   a;
cin> > a;
cout < <cin.rdstate() < <endl;
像这段代码,假如输入的是int型,输出是0,假如输入是字符   输出2...
为什么要用   0   和2   表示

[解决办法]
这个啊,建议你看《标准C++输入输出流与本地化》
rdstate没事不要使用。
[解决办法]
基本沒用過rdstate()

在VS2005下是輸入字符,輸出2

在DEV下好像是4。