10.6 IO错误处理

#include "../../std_lib_facilities.h"
#include "./token.h"

void fill_vector(istream& ist, vector<int>& v, char terminator )
{
	int i=0;
	while(ist>>i) v.push_back(i);
	if(ist.eof()) return;

	if(ist.fail()) cout<<"fali...\n";
	ist.clear();
	char c;
	ist>>c;

	

	if(c != terminator){
		ist.unget();
		ist.clear(ios_base::failbit);
	}
}

void main()
{
	cout<<"please enter input file name:"<<endl;   

	string name;   
	cin>>name;   
	ifstream ifst(name.c_str());   
	if(!ifst) error("can't open input file ",name);   

	vector<int> vec;
	fill_vector(ifst, vec, '*');

	
	for(int i=0; i<vec.size(); i++)
	{
		cout<<vec[i]<<endl;
	}

	keep_window_open();

}

你可能感兴趣的:(ios,C++,c,C#)