据我所知,在C++中投一个字符串转换为INT常见的方法是使用sstream:C++清洁字符串为int投
std::string inputString = "12 34";
std::istringstream istr(inputString);
int i1, i2;
istr >> i1 >> i2;
但是,如果我想确认,我的代码适用于任何输入,这个问题是一个字符串的输入或0之间决定:
std::string inputString = "TEXT 0";
std::istringstream istr(inputString);
int i1, i2;
istr >> i1 >> i2;
cout << i1 <<" != "<< i2 << endl;
我想决定,如果用户已经inputed字符串或零,以便进行进一步的操作。 有没有干净方式来决定这个问题,而不使用词法转换或atoi? 最好gegards
至少对我来说该技术的工作原理,目前还不清楚究竟你正在做出什么决定,或者(特别是)决定的标准。 –
'if(!(istr >> i1 >> i2)){/ *东西没有提取* /}' – ildjarn
thx,那个解决方案对我来说似乎很稳定/干净 –