其他分享
首页 > 其他分享> > c – 将字符串转换为int使用sstream

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