#include<iostream>
#include<map>
#include<list>
#include<string>
using namespace std;
int main()
{int i,a;<br>while(!cin.eof())<br>{cout<<"输入i:"<<endl;<br> cin>>i;cout<<"i输入完毕:"<<endl;<br> cout<<"输入a:"<<endl;<br> cin>>a;<br> cout<<"a输入完毕:"<<endl;<br>if(cin.bad()||cin.fail())<br>{fflush(stdin);cout<<"流状态已刷新^"<<endl;cin.clear();continue;}
}
cout<<i<<a<<endl;
}关于这个输入输出流的问题我是越弄越迷糊了,我在while条件里设置的条件是文件结束的时候结束while循环,如果是其他错误的时候就刷新输入流 (使用fflush(stdin)函数刷新输入流,不知道对不对) 然后重新输入,但是为什么,当我输入文件结束符的时候它也刷新缓冲区呢?晕了,谁能给我讲讲c++输入输出的工作原理~