3
回答
C++ primer 一书中关于流处理的一个程序,哪位高手帮忙看看
#include <iostream>
#include <stdexcept>
using namespace std;

int main()
{
	int ival;

    while (!cin.eof()) {
    cin>>ival;
    if (cin.bad())         // input stream is corrupted; bail out
            throw runtime_error("IO stream corrupted");
    if (cin.fail()) {                        // bad input
            cerr<< "bad data, try again" <<endl;        // warn the user
            cin.clear(istream::failbit);         // reset the stream
            continue;                            // get next input
        }
        // ok to process ival
    }
	return 0;
}

当输入非数字时,一直输出“ bad data, try again” 如何将流置为有效。

举报
jzhfe
发帖于7年前 3回/284阅
顶部