下面代码不能分辨 23jidf(前数字后字母)型,但可以分辨dfji38(前字母后数字)型:
#include"std_lib_facilities.h"
int main()
try
{
string name;
cin >> name;
ifstream ifs(name.c_str());
if (!ifs)error("can't open ", name);
vector<int>integers;
int integer = 0;
while (!ifs.eof())
{
if(ifs >> integer)integers.push_back(integer);
if (ifs.fail())
{
ifs.clear();
string str;
getline(ifs, str, ' ');
}
}
int sum = 0;
for (int i = 0; i < integers.size(); i++)
{
cout << integers[i]<<'\n';
sum += integers[i];
}
cout <<"sum: "<< sum<<"\n";
}
catch (exception& e) {
cerr << "error: " << e.what() << '\n';
return 1;
}
catch (...) {
cerr << "Oops: unknown exception!\n";
return 2;
};