c – 将字符串转换为int使用sstream
作者:互联网
我们想使用sstream将字符串转换为int.
但是我们不知道我们的字符串是否有整数,例如它可以是“你好200”,我们想要200,或者它可以是“你好”而且没有解决方案!
当字符串中只有一个整数时,我有这个代码:
inline int string_to_int(string s)
{
stringstream ss(s);
int x;
ss >> x;
return x;
}
现在,如果s =“你好200!”或者s =“你好”,我们怎么能这样做?
解决方法:
在字符串中的第一个整数之前忽略错误输入的简单可能性:
bool string_to_int(string str, int &x)
{
istringstream ss(str);
while (!ss.eof())
{
if (ss >> x)
return true;
ss.clear();
ss.ignore();
}
return false; // There is no integer!
}
标签:c,string,int,sstream 来源: https://codeday.me/bug/20190831/1776237.html